我尝试在stackover上阅读一些帖子,但我无法理解如何解决我的问题......
我有一个tableview Dynamics,我在我的tableView中使用parse.com获取gestionie数据我有一个自定义单元格,其中有一个按钮发送一个朋友请求选择了USER。
还可以通过查询调用已经提交的所有好友请求...一旦这些要求与各种用户的查询按钮(在Tableview中)一起显示就会改变颜色。
到目前为止一切顺利......唯一的问题是我似乎无法存储按钮的状态......例如:
用户想要向朋友请求发送“A”,此时按钮的颜色会发生变化,但当tableView滚动按钮时,会再次返回原始颜色,就像从未点击过一样......
我该如何解决这个问题?
信息: 操作此按钮位于自定义单元格(带有类)中,并在主视图控制器中引用两个代理。
-(UITableViewCell * )tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"cell";
NPCustomFindUserCell *cell =[tableViewFindUser dequeueReusableCellWithIdentifier:CellIdentifier];
if ([self.cellsCurrentlyEditing containsObject:indexPath]) {
[cell openCell];
}
cell.delegate = self;
cell.addUserButton.tag = indexPath.row;
PFUser *user = [self.userArray objectAtIndex:indexPath.row];
if (!isFiltered) {
PFObject *object = [userArray objectAtIndex:indexPath.row];
if (![self Is_InAttesa:user]) {
cell.addUserButton.tintColor = [UIColor colorWithRed:(167/255.0) green:(103/255.0) blue:(91/255.0) alpha:(1)];
}
else {
cell.addUserButton.tintColor = [UIColor grayColor];
}
cell.user_photoProfile.image = [UIImage imageNamed:@"camera"];
cell.user_photoProfile.layer.masksToBounds = YES;
cell.user_photoProfile.layer.cornerRadius = 3.0f;
cell.user_photoProfile.contentMode = UIViewContentModeScaleAspectFill;
cell.user_photoProfile.file = [object objectForKey:NPUserKey_PHOTOPROFILE];
[cell.user_photoProfile loadInBackground];
NSString *nameText = [object objectForKey:NPUserKey_NOMECOGNOME];
cell.label_UserNomeCognome.text = nameText;
cell.itemText = nameText;
}
else {
PFObject *OggettiFiltrati = [userFiltrati objectAtIndex:indexPath.row];
cell.user_photoProfile.file = [OggettiFiltrati objectForKey:NPUserKey_PHOTOPROFILE];
cell.user_photoProfile.image = [UIImage imageNamed:@"camera"];
[cell.user_photoProfile.layer setMasksToBounds:YES];
[cell.user_photoProfile .layer setCornerRadius:5.0f];
cell.user_photoProfile.contentMode = UIViewContentModeScaleAspectFill;
[cell.user_photoProfile loadInBackground];
NSString *str = [OggettiFiltrati objectForKey:NPUserKey_NOMECOGNOME];
cell.label_UserNomeCognome.text = str;
cell.itemText = str;
}
return cell;
}
答案 0 :(得分:1)
您需要根据填充单元格的数据模型来确定单元格的状态。您的模型中应该有一些东西向单元格指示该按钮应该是活动/禁用/等。