【问题标题】:UITableView reload data when click button点击按钮时 UITableView 重新加载数据
【发布时间】:2012-04-28 13:22:55
【问题描述】:

当我按下按钮时,我想从 uitableview 重新加载数据。

示例: 如果我按下按钮 1,那么我将呈现 id 为 1 的数据,如果我按下按钮 2,我将呈现 id 为 2 的数据,并且不显示之前的数据。

任何人都知道,我使用 [tableview reloadData];不工作,如果我移动屏幕并返回到在 tableview 中显示数据的屏幕会发生变化?

谢谢之前。

【问题讨论】:

  • 您应该在重新加载 tableView 之前更改数组中的数据。

标签: iphone xcode uitableview


【解决方案1】:
【解决方案2】:

使用此代码。

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

如果你点击按钮时触发,也只需写下这个

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

【讨论】:

  • 我看过你的代码,但是在 cellForRowAtIndexPath 中你是如何检查要加载哪个表的。我的意思是你是如何得到按钮 1 或按钮 2 被选中的?
  • 不同之处在于可变消息,其数据来自一个查询,该查询根据按下我的按钮而有所不同。 [[[self AppDelegate] chatDB] closeLog]; [[[self AppDelegate] chatDB] getChat: buddyName: YES];这是刷新变量message中数据的代码
【解决方案3】:

你不应该创建 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;

【讨论】:

    猜你喜欢
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2012-04-07
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多