请问我有几个小时没有找到解决方案并为此向您致函 :)
我有 UIPickerView,当用户单击 UITextField 时,它必须从 View 底部显示(这是我的应用程序要求我必须做的),所以我实现了这个方法来捕捉文本字段的触摸事件:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch;
touch=[touches anyObject];
CGPoint point=[touch locationInView:self.view];
if(CGRectContainsPoint([typeCarburantTextField frame],point))
{
[self pickerTypeCarburantsShow];
}
}
以及这种防止在用户单击文本字段时显示键盘的方法:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return NO;
}
pickerTypeCarburantsShow
-(IBAction)pickerTypeCarburantsShow{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
CGAffineTransform transform=CGAffineTransformMakeTranslation(0, 240);
pickerViewTypesCarburants.transform=transform;
[self.view addSubview:pickerViewTypesCarburants];
[UIView commitAnimations];
}
我所有的 IB 连接都很好,但是当我运行并单击 UITextField 时,键盘没有出现但我没有看到选择器显示 请帮忙,提前谢谢 :)
最佳答案
你可能想要的可能是这个..
UITextField 有这个属性,
输入 View
当文本字段成为第一响应者时显示的自定义输入 View 。
@property (readwrite, retain) UIView *inputView
讨论 如果此属性中的值为 nil,则文本字段在成为第一响应者时显示标准系统键盘。将自定义 View 分配给此属性会导致显示该 View 。
此属性的默认值为 nil。
因此,要显示另一个 View 而不是键盘,所需要做的就是设置该 View ,在本例中是 uipickerview 或其容器作为文本字段的 inputView...
例如,要显示一些 pickerview 而不是键盘,您可能想要
textView.inputView = [[UIPickerView alloc] initWithFrame:CGRectMake(...)];
关于ios - Picker 尚未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695633/