2

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]
}

ご意見をお聞かせください。

前もってありがとう、バラティ。

4

3 に答える 3

1

[self.navigationItem.titleView becomeFirstResponder];代わりに試してください[titleTextField becomeFirstResponder];

于 2012-06-12T12:45:39.550 に答える
0

これを試して:

[titleTextField becomeFirstResponder];

それから:

self.navigationItem.titleView = titleTextField;

運が良ければ教えてください...

于 2012-06-12T18:33:54.333 に答える
0

UITextFieldDelegateまた、プロトコルに準拠する必要があります。プロトコルに準拠していないと思います。

.hファイル内(例)

@interface RootViewController : UITableViewController<UITextFieldDelegate>

@end
于 2012-06-12T13:00:35.393 に答える