我在UINavigationItem.titleView中添加了一个自定义的UITextField。但它不是becomeFirstResponder。为什么会这样呢?
- (void) viewDidLoad
{
[super viewDidLoad];
UITextField *titleTextField = [[UITextField alloc] initWithFrame:CGRectMake(65.0f, 8.0f, 160.0f, 30.0f)];
titleTextField.text = @"Untitled";
titleTextField.textAlignment = UITextAlignmentCenter;
titleTextField.textColor = [UIColor whiteColor];
titleTextField.font = [UIFont boldSystemFontOfSize:20.0f];
//titleTextField.backgroundColor = [UIColor redColor];
titleTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
titleTextField.delegate = self;
titleTextField.tag = 2;
self.navigationItem.titleView = titleTextField;
[titleTextField becomeFirstResponder]
}敬请指教。
先谢谢你,巴拉蒂。
发布于 2012-06-12 20:45:40
尝试[self.navigationItem.titleView becomeFirstResponder];而不是[titleTextField becomeFirstResponder];
发布于 2012-06-12 21:00:35
您还需要遵循UITextFieldDelegate协议。我认为你没有遵守协议。
在.h文件中(例如)
@interface RootViewController : UITableViewController<UITextFieldDelegate>
@end发布于 2012-06-13 02:33:54
试试这个:
[titleTextField becomeFirstResponder];然后:
self.navigationItem.titleView = titleTextField;告诉我如果幸运的话..。
https://stackoverflow.com/questions/10996887
复制相似问题