自定义UITableViewCell勾选框的保持

来源:互联网 发布:php相册源码 编辑:程序博客网 时间:2024/06/06 06:56

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.delegaterespondsToSelector:@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.delegatebutton:self.selectButtonandStock_code:self.freeData.stklabelandIsSelected:self.isSelectedandIndexPathRow:self.indexPathRow];

    }

}



//EditFreeStockViewController

if ([self.itemsindexOfObject:@(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.addStockCodeArrayaddObject:stockCode];

        [self.itemsaddObject:@(indexPathRow)];

    }else{

        [self.addStockCodeArrayremoveObject:stockCode];

        [self.itemsremoveObject:@(indexPathRow)];

    }

    self.selectCountLabel.text = [NSStringstringWithFormat:@"已选择%lu",(unsignedlong)[self.addStockCodeArraycount]];

}













0 0
原创粉丝点击