以编程方式将UITextField添加到下拉列表中

时间:2012-11-03 08:01:53

标签: ios uitextfield uinavigationbar

我有一个由UITableViewController控制的tableview。 在这个UITableViewController类中,我通过将这些行添加到我的viewDidLoad方法,以编程方式向我的UINavigationItem添加了UITextField

CGRect passwordTextFieldFrame = CGRectMake(20.0f, 100.0f, 280.0f, 31.0f);
UITextField *passwordTextField = [[UITextField alloc] initWithFrame:passwordTextFieldFrame];
passwordTextField.placeholder = @"Password";
passwordTextField.backgroundColor = [UIColor whiteColor];
passwordTextField.textColor = [UIColor blackColor];
passwordTextField.font = [UIFont systemFontOfSize:14.0f];
passwordTextField.borderStyle = UITextBorderStyleRoundedRect;
passwordTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
passwordTextField.returnKeyType = UIReturnKeyDone;
passwordTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
passwordTextField.tag = 2;
passwordTextField.autocapitalizationType = UITextAutocapitalizationTypeNone;
passwordTextField.delegate = self; // ADD THIS LINE
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:passwordTextField];

UITextField在我的导航栏上正确显示,但是当我点击它时,textFieldDidBeginEditing永远不会触发。

我已将my头文件与textFieldDidBeginEditing方法一起添加。

我尝试在UIViewController控制的视图中执行完全相同的操作,当我单击“textfield”时,textFieldDidBeginEditing被触发 - 所以我怀疑我将文本字段添加到UITableViewController是导致问题的原因。 / p>

您可能会想 - 为什么不在“NavigationBar”中添加“uinavigationbutton” - 但我不能像点击按钮时想要调用的uidropdownmenu只接受“UITextField”。

1 个答案:

答案 0 :(得分:0)

尝试再添加一行:

[passwordTextField becomeFirstResponder];