IOS UITableView單條重新整理,資料不重新整理解決方案

來源:互聯網
上載者:User

 在使用 UITableView 進行某設定頁面的設計時,由於設計頁面有固定的section個數和row個數,而資料又需要根據使用者的修改情況進行改變,所以我們往往不會為每個cell單獨寫一個類,而是直接對 contentView 添加子試圖,如:

[cell.contentView addSubview:contentLab];

詳細:

static NSString *Identifier = @"dentifier0";            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:Identifier];            UILabel *titleLab,*contentLab;            if (cell == nil)            {                cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:Identifier];                                contentLab = [[UILabel alloc]initWithFrame:CGRectMake(100, 10, 100, 20)];                contentLab.backgroundColor = [UIColor clearColor];                contentLab.textColor = [UIColor whiteColor];                [cell.contentView addSubview:contentLab];            }    contentLab.text = @"測試";                     return cell;

當我們在使用者操作後,執行單條重新整理語句

NSIndexPath *refresh_row = [NSIndexPath indexPathForRow:0 inSection:2];    NSArray *array = @[refresh_row];    [_tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationAutomatic];

資料並沒有執行重新整理

原因:在cell !=nil 的時候contentLab==nil

解決方案:

在else 的時候為contentLab 賦值,找到cell中已經建立的Label

如下:

if (cell == nil)            {                cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:Identifier];                                contentLab = [[UILabel alloc]initWithFrame:CGRectMake(100, 10, 100, 20)];                contentLab.backgroundColor = [UIColor clearColor];                contentLab.textColor = [UIColor whiteColor];contentLab.tag = 10000; [cell.contentView addSubview:contentLab];}else { contentLab = (UILabel*)[cell.contentView viewWithTag:10000]; }

ok,單條重新整理,完滿解決~!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.