你的位置:首页 > 操作系统

[操作系统]UITbaleView上按钮的单选


设置Id属性,标记是哪个cell

@property (nonatomic,assign)NSInteger Id;

设置一个普通状态和选中状态图片不同的按钮

 _choose = [[UIButton alloc]init];    [_choose setImage:[UIImage imageNamed:@"about_未勾选"] forState:UIControlStateNormal];    [_choose setImage:[UIImage imageNamed:@"about_勾选"] forState:UIControlStateSelected];    [_choose addTarget:self action:@selector(choosePressed:) forControlEvents:UIControlEventTouchUpInside];    [self.contentView addSubview:_choose];

- (void)layoutSubviews {  _choose.frame = CGRectMake(10, 120+wei_tiao, 20, 20);}

设置一个可调整选中或者为选中的方法

- (void)setChecked:(BOOL)checked {  if (checked) {    _choose.selected = YES;  }else {    _choose.selected = NO;  }}

cell上按钮的单击事件

/** * 选择勾选 * * @param sender 按钮 */- (void)choosePressed:(UIButton *)sender {  sender.selected = YES;  if (_chooseBlock) {    _chooseBlock(self.Id);  }}

设置一个全局变量来判定点了哪一个cell

  NSInteger _cellIndex;

 

tableView代理:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  ShippingAddressCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];  cell.selectionStyle = UITableViewCellSelectionStyleNone;  cell.Id = indexPath.row;  if (_cellIndex == indexPath.row) {    [cell setChecked:YES];  }else {    [cell setChecked:NO];  }  [cell setChooseBlock:^(NSInteger index) {    _cellIndex = index;    [_tableView reloadData];  }];  return cell;}

效果图:

 

跟团去昆明旅游多少钱几月去昆明旅游最好去昆明的旅游团价格去昆明旅游必去景点去昆明旅游要多少钱卡塔尔航空哈马德国际机场Al Mourjan贵宾室启用 泰国苏梅岛代表性特产是什么? 深圳观澜山水田园在哪?自助游的话怎么去? 泰国曼谷有哪些美食街? 武汉欢乐谷首届万圣欢乐节惊彩呈现 泰姬陵门票 欧胡岛檀香山国际机场(HNL) 到邻近岛屿机场飞行时间 夏威夷旅游小助手 出境旅游攻略之(二)境外刷卡秘籍 海螺沟落差最大的冰川:大冰瀑布 中国四川康定特色菜;魔芋烧鸡 出境旅游攻略之(三)外国酒店的星级标准常识 深圳哪里有杰克琼斯专卖店? 深圳观澜街道附近有哪些好玩的地方? 深圳有什么历史和传说吗? 2013 五一深圳去哪里好玩? BFG520/X,215 Datasheet BFG520/X,215 Datasheet START405TR Datasheet START405TR Datasheet PD84006L-E Datasheet PD84006L-E Datasheet 松江河天气 松江河天气 松江河天气 华中师范大学地图 华中师范大学地图 华中师范大学地图 库尔勒市地图 库尔勒市地图 库尔勒市地图