我有一個由UITableViewController控制的tableview。 在這一類的UITableViewController我已經通過添加這些行到我的viewDidLoad方法增加了UITextField
編程我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永遠不會觸發。
我已經添加到我的頭文件以及textFieldDidBeginEditing方法。
我試着在UIViewController控制的視圖中做同樣的事情,這裏textFieldDidBeginEditing被點擊「textfield」時被觸發 - 所以我懷疑我將文本字段添加到UITableViewController的事實是造成問題的原因。
您可能會認爲 - 爲什麼您沒有將「uinavigationbutton」添加到「NavigationBar」中,而是我不能將uidropdownmenu作爲單擊按鈕時要調用的uidropdownmenu接受「UITextField」 。
感謝您的回覆 - 但是我的斷點不被解僱textFieldDidBeginEditing裏面,當我點擊文本字段 –
父視圖控制器必須實現這個委託:UITextFieldDelegate - 嘗試在你的視圖控制器下實現它。如果這不起作用,那麼您可能需要通過導航欄來實現它。爲了達到這個目的,你需要爲實現這個協議的UINavigationbar實現一個類別。喜歡它在這裏完成:http://developer.apple.com/library/ios/#samplecode/SimpleFTPSample/Listings/CreateDirController_m.html#//apple_ref/doc/uid/DTS40009243-CreateDirController_m-DontLinkElementID_9 –
我傾向於相信你有passwordTextField的類應該實現UITextFieldDelegate,它會工作。像@interface YourClass()。我高度認爲這將是你的UITableViewController派生控制器。 –