如何在iOS应用程序中存储UIButton的状态

时间:2014-09-18 17:08:28

标签: uitableview uibutton

我尝试在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;

}

1 个答案:

答案 0 :(得分:1)

您需要根据填充单元格的数据模型来确定单元格的状态。您的模型中应该有一些东西向单元格指示该按钮应该是活动/禁用/等。