我有一个UINavigationController,有一个任意的根视图控制器。然后,我将以下子类UITableViewController推送到导航堆栈:
@interface BugViewController : UITableViewController <UITextFieldDelegate>
@end
@implementation BugViewController
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [[UITableViewCell alloc] init];
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 0, 200, 30)];
[textField setBackgroundColor:[UIColor yellowColor]];
[textField setDelegate:self];
[[cell contentView] addSubview:textField];
return cell;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"did begin editing");
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"did end editing");
}
@end
基本上,它只是一个带有单行的UITableViewController,它包含一个UITextField。
Repro步骤:
我正在努力理解为什么文本字段开始然后在后面的动画中再次结束编辑。
请注意,我可以通过覆盖viewWillDisappear:animated:
并在文本字段上调用resignFirstResponder
来阻止此行为,但我仍然不了解潜在问题。