3

ボタンを押したときにuitableviewからデータをリロードしたい。

例:ボタン1を押すと、ID 1のデータが表示され、ボタン2を押すと、ID 2のデータが表示され、以前のデータは表示されません。

誰もが方法を知っています、私は[tableviewreloadData]を使用します。動作しない場合、画面を移動してテーブルビューにデータを表示する画面に戻ると変更が発生しますか?

前に感謝します。

4

3 に答える 3

0

このコードを使用してください。

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

あなたがボタンをクリックしたときに解雇された場合は、これも書いてください

-(IBAaction) buttonclick
{
   [self.tableView reloadData];
   // your code...
}
于 2012-04-28T13:25:46.090 に答える
0

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;
于 2012-04-28T15:27:20.870 に答える
0

このリンクをたどってください、おそらくそれはあなたを助けるでしょう。

stackoverflow.com/questions/7290340/xcode-tableview-showing-to-different-arrays-one-at-a-time-problem

于 2012-04-29T06:16:59.000 に答える