0

パスコードと確認パスコードを設定するために、各行にUITableView2 つの を使用しています。UITextFields

セクションフッターを使用して、パスコードが一致するかどうか、または短すぎるかどうかなどを示したいと思います.

私は使用しています..

[[self passcodeTableView]reloadSections:[NSIndexSet indexSetWithIndex:0] 
                withRowAnimation:UITableViewRowAnimationFade];

他の場所で設定した NSString とともに、フッター テキストを更新します。

ただし、呼び出すreloadSectionsと、強制的にUITextFields追加されcellForRowAtIndexPathます。

セルが再描画されるのを止めると思いif (cell == nil)ましたが、明らかにそうではありません。

ここで何が間違っていますか?

4

2 に答える 2

1

テキストを格納し、オブジェクト内でアクセスできる変数を作成します。これを YourClass.m に追加します。

@interface YourClass () {   
     UILabel *footerLabel;
}

@end

このメソッドをクラスに追加します。

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    if (!footerLabel) {
        footerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 0.0)];
    }

    return footerLabel;
}

- (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 60.0;
}

次に、テキストを変更したい場合は、footerLabel を更新するだけです。

footerLabel.text = @"Your new text";
于 2013-03-05T09:53:50.573 に答える
0

これらの textFields をグローバル変数として追加し、一度作成してから に渡すことができますcellForRowAtIndexPath。それらは以前の状態で追加されます

于 2013-03-05T09:12:51.777 に答える