簡體   English   中英

單擊按鈕時UITableView重新加載數據

[英]UITableView reload data when click button

我想按下按鈕時從uitableview重新加載數據。

例如:如果我按下按鈕1,那么我將顯示id為1的數據,如果我按下按鈕2,那么我將顯示id為2的數據,並且之前的數據不會顯示。

任何人都知道如何,我使用[tableview reloadData]; 不工作,如果我移動屏幕並返回到在tableview中顯示數據的屏幕,會發生更改嗎?

謝謝之前。

使用此代碼。

- (void)viewDidAppear:(BOOL)animated 
{
    [super viewDidAppear:animated];
    [self.tableView reloadData];
}

如果你點擊按鈕時被解雇,也只需寫下來

-(IBAaction) buttonclick
{
   [self.tableView reloadData];
   // your code...
}

你不應該創建UILabel * labelMessage; 每次應用程序調用tableView時的其他變量:cellForRowAtIndexPath:。 而是嘗試使用所有變量執行此操作:

if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        UILabel *labelMessage;
        labelMessage = [[UILabel alloc] initWithFrame:CGRectZero];
        labelMessage.backgroundColor = [UIColor clearColor];
        labelMessage.tag = 5;
        labelMessage.numberOfLines = 0;
        labelMessage.lineBreakMode = UILineBreakModeWordWrap;
        labelMessage.font = [UIFont systemFontOfSize:14.0];
        labelMessage.shadowOffset = CGSizeMake(0, 1);
        labelMessage.shadowColor = [UIColor whiteColor];
        labelMessage.backgroundColor = [UIColor clearColor];
        labelMessage.textColor = [UIColor colorWithRed:136.00/255.00 green:91.00/255.00 blue:14.00/255.00 alpha:1.0];

        UIView *message = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height)];
        [message addSubview:labelMessage];
}
UILabel *labelMessage = (UILabel *)[cell viewWithTag:3];
/* Set textMessage value here */
labelMessage.text = textMessage;
return cell;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM