带有UILabel内容的UITableViewCell滚动更改

时间:2018-08-16 13:17:57

标签: ios objective-c uitableview

请查看下面的代码和图片以了解相关信息,

我使用UITableView进行配置文件编辑,每个单元格中包含UILabel的旧数据。输入新的详细信息并滚动后,值将自动更改为旧数据。

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return identifiersAry.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    EditProfileTableViewCell *cell = (EditProfileTableViewCell *)[tableView dequeueReusableCellWithIdentifier:[identifiersAry objectAtIndex:indexPath.row]];

    switch (indexPath.row) {

        case NAME_CELL:
            nameTxtFld = cell.firstNameTxtLbl;
            name = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] objectForKey:@"name"];
            cell.firstNameTxtLbl.text = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] objectForKey:@"name"];
            break;

        case UserName_Cell:
            userNameTxtFld = cell.userNameTxtFld;
            cell.userNameTxtFld.text = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] objectForKey:@"userName"];            
            break;

        default:
            break;
   }

   [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

   return cell;
}

enter image description here

1 个答案:

答案 0 :(得分:1)

解决了,我只是使用初始布尔值'YES',当它第一次加载从NSUserDefaults存储的所有数据时,当最后一个单元格加载时,我只是更改了'NO'值,那么它对我有用。谢谢。

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return identifiersAry.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    EditProfileTableViewCell *cell = (EditProfileTableViewCell *)[tableView dequeueReusableCellWithIdentifier:[identifiersAry objectAtIndex:indexPath.row]];

    switch (indexPath.row) {

        case NAME_CELL:
            nameTxtFld = cell.firstNameTxtLbl;
            name = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] objectForKey:@"name"];
            if (isEnteringFirstTime)
            cell.firstNameTxtLbl.text = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] objectForKey:@"name"];
            break;

        case UserName_Cell:
            userNameTxtFld = cell.userNameTxtFld;
            if (isEnteringFirstTime)
            cell.userNameTxtFld.text = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] objectForKey:@"userName"];  
           isEnteringFirstTime = NO;
            break;

        default:
            break;
    }

    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    return cell;
}