Iphone UITextField和UIPickerView
选择UIExtField时是否可能出现UIPickerView而不是键盘?Interface Builder中的每个选项都是某种键盘 我想我可以以编程的方式创建一个UIPickerView,并在UITextField注册touchUpInside事件时创建一个UIPickerView,然后告诉UITextField辞职FirstResponder,但这似乎有点像黑客 有没有一种“官方”或更“正确”的方法来做到这一点Iphone UITextField和UIPickerView,iphone,objective-c,cocoa-touch,uitextview,uipickerview,Iphone,Objective C,Cocoa Touch,Uitextview,Uipickerview,选择UIExtField时是否可能出现UIPickerView而不是键盘?Interface Builder中的每个选项都是某种键盘 我想我可以以编程的方式创建一个UIPickerView,并在UITextField注册touchUpInside事件时创建一个UIPickerView,然后告诉UITextField辞职FirstResponder,但这似乎有点像黑客 有没有一种“官方”或更“正确”的方法来做到这一点 谢谢 您可以实现此代码并覆盖默认行为(即显示键盘): 与其显示UIAlertVi
谢谢 您可以实现此代码并覆盖默认行为(即显示键盘):
与其显示UIAlertView,不如显示自己的UIPickerView并完成自己的工作。@akosma好主意!我没有意识到这会覆盖显示键盘。如果你要调用[super textField shouldbeginediting:textField],会显示键盘,对吗?不一定;textFieldShouldBeginEditing:是一个委托方法,不属于任何层次结构。您应该“返回是”以显示键盘。那么,按照你的逻辑,你应该决定是否显示键盘(返回是或否就可以了;)谢谢你,阿科斯玛,我发现这纯粹是偶然的,当时我正在痛苦地尝试编写替换键盘。拖延FTW!
#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;
}