
如图所见,我希望在cell的button上面做单选,复用的是一个cell
cell是我自定义的,在上边加了一个button,所以cell是个单独的类,button的触发事件只能在cell类中实现,所以并不能得到当下点击的cell的index,无法判断是那个cell,无法达到互斥效果
这是我在cell上的button
[self.btnsetBackgroundImage:[UIImage imageNamed:@"没有选中的图片"] forState:UIControlStateNormal];
[self.btn addTarget:self action:@selector(changeChoose:) forControlEvents:UIControlEventTouchUpInside];
两个button 的backGroundImage都应该是这个[UIImage imageNamed:@"没有选中的图片"] 吧,点击之后变图片
我觉得关键难点就是cell上的button,如果是view上的就好办了,想不出来,希望大家帮忙
------解决方案--------------------
在cellForRowAtIndexPath里面你可以得到cell里面的button,只要你在自定义的类中把button定义成一个属性,比如:btn
接着在cellForRowAtIndexPath里面,只需要cell.btn就可以得到这个button的指针。这样,你就可以用cell.btn来设置这个button的图片了。
剩下的问题,就是cell的复用问题,在复用的cell中,你要判断哪些该显示成被选的,哪些显示成不选的。
------解决方案--------------------
至于你说的点击button的响应方法,猜测你肯定想在里面执行一些提示用户安装的代码。我的建议是把这些代码放到didSelectedRowAtIndexPath里。至于button只是用来表示是否选中。也可以换成UIImageView。
一般要用户选择,还是让他点击cell选择还一点,去点击一个那么小的button本来就不是很友好。你觉得呢?
有什么问题,你可以补充。希望能帮到你
------解决方案--------------------
cell中加一个代理方法 点击事件时把cell以及其他参数传给视图控制器,然后视图控制器获得到cell自然就知道是哪个cell了
------解决方案--------------------
你cell初始化得时候设置delegate属性为视图控制器了吗
------解决方案--------------------
支付宝支付是会先找你有没有安装ios版本的客户端 有了就跳过去 没有就会直接跳到网页上 不需要你这样来写的.......
不信 你可以自己测试一下...------解决方案--------------------
支付宝支付是会先找你有没有安装ios版本的客户端 有了就跳过去 没有就会直接跳到网页上 不需要你这样来写的.......不信 你可以自己测试一下...
额 确实...谢谢
不客气 嘻嘻 可以结贴给分分了