我在更新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
with ,我还设置了它的和to 。UITableView
delegate
dataSource
File's Owner
我使用ELCTextFieldCell
which 为我提供了UITableViewCell
aUILabel
和 a UITextField
。我在单元格中插入了一些值,当键盘隐藏 tableView 应该重新加载它的数据以在其中一个单元格中显示正确的结果。我做了一些调试和计算工作,但该单元格没有刷新(正如我提到的,该cellForRowAtIndexPath
方法不会在[self.theTableView reloadData]
.
谢谢你。
任何帮助,将不胜感激
编辑
为此找到了一个“丑陋”的解决方案。而不是打电话
[self.theTableView reloadData];
我打了电话
[self.theTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:7 inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
它丑陋且硬编码,如果我添加更多单元格或删除一些单元格,以后可能会导致问题,但它可以工作。
仍在寻找可以使用reloadData
方法的解决方案