前提,其中cell是用storyBoard的方式去创建的
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (_type==SendStyle_Self) {
YFExpressDeliveryCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YFExpressDeliveryCell"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
YFGetDeliverAddressModel *model=_shopArr[indexPath.row];
cell.shopAddress.text=model.ziTiDianAddress;
cell.shopName.text=model.ziTiDianName;
if (_selectRow == indexPath.row) {
[cell.selectBtn setSelected:YES];
}else{
[cell.selectBtn setSelected:NO];
}
// cell.shopOpenCloseTime.text=_shopArr[indexPath.row][@"openTime"];
return cell;
}
else if (_type==SendStyle_Delivery){
YFSendfStyleCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YFSendfStyleCell"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UIImage *image = [UIImage imageNamed:@"textField_normal"];
image = [image stretchableImageWithLeftCapWidth:image.size.width/2 topCapHeight:image.size.height/2];
cell.addressTextFiled.background = image;
if ([YFMapMessage sharedInstance].cityName){
cell.cityLab.text=[YFMapMessage sharedInstance].cityName;
}
return cell;
}
else if (_type==SendStyle_Send)
{
YFSendfStyleCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YFSendfStyleCell"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UIImage *image = [UIImage imageNamed:@"textField_normal"];
image = [image stretchableImageWithLeftCapWidth:image.size.width/2 topCapHeight:image.size.height/2];
cell.addressTextFiled.background = image;
if ([YFMapMessage sharedInstance].cityName){
cell.cityLab.text=[YFMapMessage sharedInstance].cityName;
}
return cell;
}
return nil;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (_type==SendStyle_Self){
//帅选其中的某一行 改变button图片的状态,
for (int i=0; i<_shopArr.count; i++) {
NSIndexPath *index = [NSIndexPath indexPathForRow:i inSection:0];
YFExpressDeliveryCell *cell = [tableView cellForRowAtIndexPath:index];
if (i == indexPath.row) {
[cell.selectBtn setSelected:YES];
_selectRow=indexPath.row;
}else{
[cell.selectBtn setSelected:NO];
}
}
}
}
必须在cellForRow方法中加上
if (_selectRow == indexPath.row) {
[cell.selectBtn setSelected:YES];
}else{
[cell.selectBtn setSelected:NO];
}
才有可能及时去刷新,不然 可能出现选中多个的情况