你的分享就是我们的动力 ---﹥

ios cell上的button作单选,自定义的cell,cell为单独的一个类 代码下载

时间:2014-04-03 14:42来源:www.chengxuyuans.com 点击:
cell上的button做单选,自定义的cell,cell为单独的一个类

如图所见,我希望在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了
------解决方法--------------------
引用:
Quote: 引用:

cell中加一个代理方法 点击事件时把cell以及其他参数传给视图控制器,然后视图控制器获得到cell自然就知道是哪个cell了

问题来了 我在cell类中定义了协议,也设置了代理,为啥就是不调用捏...求指导。。。
cell.h里:@protocol CellDelegate <NSObject>
- (void)ButtonDidSelected:(UIButton *)button;
@end
@property(nonatomic,assign) id<CellDelegate> delegate;

cell.m里:
button的触发方法:-(void)changeChoose:(UIButton *)sender
{    
    if(self.delegate && [self.delegate respondsToSelector:@selector(ButtonDidSelected:)])
    {
        [self.delegate performSelector:@selector(ButtonDidSelected:) withObject:sender];
    }  
}
进不去if里面


你cell初始化得时候设置delegate属性为视图控制器了吗
------解决方法--------------------
支付宝支付是会先找你有没有安装ios版本的客户端 有了就跳过去 没有就会直接跳到网页上 不需要你这样来写的.......不信 你可以自己测试一下...
------解决方法--------------------
引用:
Quote: 引用:

支付宝支付是会先找你有没有安装ios版本的客户端 有了就跳过去 没有就会直接跳到网页上 不需要你这样来写的.......不信 你可以自己测试一下...


额 确实...谢谢


不客气 嘻嘻 可以结贴给分分了

本文地址http://www.chengxuyuans.com/code/ios/76242.html