自定义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]];
}
@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]];
}
相关文章推荐
- 解决:Connections could not be acquired from the underlying database!
- awesome-android-ui
- 子线程用Handler通知主线程更新UI
- HDU 5400 Arithmetic Sequence
- hdu 5400 Arithmetic Sequence 2015多校联合训练赛#9 枚举
- EasyUI的验证框
- Android emulator error: x86 emulation currently requires hardware acceleration的解决方案
- iOS开发UI篇—CAlayer层的属性(position、anchorPoint) 和隐式动画
- UVA 11995 I Can Guess the Data Structure! (STL应用)
- UITextField
- 常见UI控件的使用-富文本、textview
- 华硕笔记本(UEFI)支持U盘启动
- IOS UI初级-表视图单元格定制
- IOS UI初级-表视图的使用
- poj 3080 Blue Jeans 字符串,暴力
- MUI-AJAX实现数据请求
- Implement Queue using Stacks
- Android中UI线程与后台线程交互设计的5种方法
- android studio安装配置问题和安装genymotion及UI无法预览问题解决
- Implement Stack using Queues