2016-09-22 20 views
0

1つのViewControllerには、UITableView、UITextField、およびUIButtonが別々に配置されています。 UITextFieldのテキストをボタンのセルに追加する必要があります。私は、プレス加工にフラグを設定:UIButtonのUITableViewに追加

- (IBAction)addingButon:(id)sender { 

    _addingFlag = true; 

} 

そしてテーブルのメソッドで、次の操作を行います。

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

static NSString *cellID = @"dataCell"; 

UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:cellID]; 

while (true) { 

    if (_addingFlag && _textBox.text.length != 0) { 

     cell.textLabel.text = _textBox.text; 

     [tableView reloadData]; 
    } 

    _addingFlag = false; 

    break; 

    return cell; 

} 

データをテーブルにスクロールしたときにのみ表示され、奇妙な順序で。それを修正する方法を教えてください。 Objective-Cを使って作業するのは数日です。

答えて

2

tableView:cellForRowAtIndexPath:はすぐに戻ります。その代わり、addingButton:[tableView reloadData]を呼び出す:

- (IBAction)addingButon:(id)sender { 
    [self.tableView reloadData]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *cellID = @"dataCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; 

    cell.textLabel.text = _textBox.text; 
    return cell; 
} 
+0

ありがとうございました!それは働いている!しかし、私は、テキストフィールドで他のセルに新しいテキストをプッシュし、以前のセルに古いテキストを同時に保存する必要があります。どうやってやるの? – deMasta

+0

NSArrayプロパティを使用し、それを使用して古い値を格納する必要があります。 –

+0

すでに完了しましたが、とにかく答えてくれてありがとう! :) – deMasta

関連する問題