の更新に問題がありUITableView
ます。reloadData
その上でメソッドを呼び出しますが、cellForRowAtIndexPath
呼び出されません。コード:
//.h
@interface MasterViewController : UIViewController<ELCTextFieldDelegate, UITableViewDelegate, UITableViewDataSource> {
//some variables
}
@property (nonatomic, retain) IBOutlet UITableView *theTableView;
//other properties
//.m
- (void)viewDidLoad {
//some code
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
- (void)keyboardWillHide:(NSNotification *)notification {
self.theTableView.frame = CGRectMake(0, 0, 320, 480 - 64);
[self.theTableView reloadData];
}
をxib で接続し、theTableView
とをに設定しました。UITableView
delegate
dataSource
File's Owner
私は aと aをELCTextFieldCell
提供するを使用します。セルにいくつかの値を挿入し、キーボードが非表示になると、tableView がデータをリロードして、セルの 1 つに正しい結果を表示する必要があります。私はいくつかのデバッグを行い、計算は正常に機能しましたが、そのセルは更新されません (前述したように、メソッドは の後に呼び出されません。UITableViewCell
UILabel
UITextField
cellForRowAtIndexPath
[self.theTableView reloadData]
ありがとうございました。
どんな助けでもいただければ幸いです
編集
そのための「醜い」解決策を見つけました。呼び出す代わりに
[self.theTableView reloadData];
私は呼びました
[self.theTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:7 inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
醜くハードコーディングされているため、後でセルを追加したり一部を削除したりすると問題が発生する可能性がありますが、機能します。
reloadData
メソッドを使用するソリューションをまだ探しています