UITextField和UIPickerView

Joh*_*kes 3 iphone cocoa-touch objective-c uipickerview uitextview

当选择UITextField时,是否可以显示UIPickerView而不是键盘?Interface Builder中的每个选项都是某种键盘.

我想我可以以编程方式创建一个UIPickerView并在UITextField注册一个touchUpInside事件时创建一个,然后告诉UITextField resignFirstResponder,但这看起来有点像黑客攻击.

是否有"官方"或更"正确"的方式来做到这一点?

谢谢!

Adr*_*ski 6

您可以实现此代码并覆盖默认行为(即显示键盘):

#pragma mark -
#pragma mark UITextFieldDelegate methods

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil 
                                                    message:@"Bouh!"
                                                   delegate:nil 
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles:nil];
    [alert show];
    [alert release];
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

您可以展示自己的UIPickerView并做自己的事情,而不是显示UIAlertView.