您的位置:首页 > 产品设计 > UI/UE

自定义UITableViewCell勾选框的保持

2015-08-19 14:34 330 查看
1//定义协议
@protocol FreeStockTableViewCellDelegate <NSObject>

-(void)button:(UIButton*)button andStock_code:(NSString *)stockCode andIsSelected:(BOOL)isSelected
andIndexPathRow:(NSInteger)indexPathRow;

@end

//2.

@property(nonatomic,strong)id<FreeStockTableViewCellDelegate>
delegate;

@property(nonatomic,assign)BOOL isSelected;

@property(nonatomic,assign)NSInteger indexPathRow;

//3.
-(void)layoutSubviews{

[superlayoutSubviews];

//设置selectButton默认状态和选择状态

[self.selectButtonsetBackgroundImage:[UIImageimageNamed:@"3提醒消息-编辑_06"]forState:UIControlStateSelected];

[self.selectButtonsetBackgroundImage:[UIImageimageNamed:@"3提醒消息-编辑_10"]forState:UIControlStateNormal];

}

//4.

#pragma mark 勾选框

- (IBAction)selectBox:(id)sender {

//返回给delegate值

if ([self.delegate
respondsToSelector:@selector(button:andStock_code:andIsSelected:andIndexPathRow:)]) {

if (self.selectButton.selected ==
NO) {

self.selectButton.selected =
YES;

_isSelected = YES;
}else{

self.selectButton.selected =
NO;

_isSelected = NO;
}

[self.delegate
button:self.selectButton
andStock_code:self.freeData.stklabel
andIsSelected:self.isSelected
andIndexPathRow:self.indexPathRow];
}
}

//EditFreeStockViewController

if ([self.items
indexOfObject:@(indexPath.row)] !=
NSNotFound) {
cell.selectButton.selected =
YES;
}else{
cell.selectButton.selected =
NO;
}
cell.isSelected =
NO;

cell.indexPathRow = indexPath.row;

cell.freeData =
self.freeStockArray[indexPath.row];
cell.delegate =
self;

#pragma mark - FreeStockTableViewCellDelegate
-(void)button:(UIButton *)button andStock_code:(NSString *)stockCode andIsSelected:(BOOL)isSelected
andIndexPathRow:(NSInteger)indexPathRow{

if (isSelected ==
YES) {
[self.addStockCodeArray
addObject:stockCode];
[self.items
addObject:@(indexPathRow)];
}else{
[self.addStockCodeArray
removeObject:stockCode];
[self.items
removeObject:@(indexPathRow)];
}

self.selectCountLabel.text = [NSString
stringWithFormat:@"已选择%lu个",(unsigned
long)[self.addStockCodeArray
count]];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: