Iphone 选择UITextField时显示UIPickerView
是否有人在选择UITextField时有显示UIPickerView的基本示例。这样做的最佳位置是在NSTextField委托方法中:Iphone 选择UITextField时显示UIPickerView,iphone,uitextfield,uipickerview,Iphone,Uitextfield,Uipickerview,是否有人在选择UITextField时有显示UIPickerView的基本示例。这样做的最佳位置是在NSTextField委托方法中: -(BOOL)text应该开始编辑:(NSText*)textObject 重写该方法以返回“否”,而是调用选择器视图。返回“否”将阻止键盘出现 执行此操作的最佳位置是在NSTextField委托方法中: -(BOOL)text应该开始编辑:(NSText*)textObject 重写该方法以返回“否”,而是调用选择器视图。返回“否”将阻止键盘出现 我所做的是实
-(BOOL)text应该开始编辑:(NSText*)textObject
重写该方法以返回“否”,而是调用选择器视图。返回“否”将阻止键盘出现 执行此操作的最佳位置是在NSTextField委托方法中:
-(BOOL)text应该开始编辑:(NSText*)textObject
重写该方法以返回“否”,而是调用选择器视图。返回“否”将阻止键盘出现 我所做的是实施touchesEnded事件。如果该事件发生在我的UITextField参数中,则我隐藏或显示UIPickerView
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
if (CGRectContainsPoint([self.textField frame], [touch locationInView:self.view]))
{
//Want to show or hide UIPickerView
if(pickerView)
{
submitButton.hidden = !submitButton.hidden;
pickerView.hidden = !pickerView.hidden;
}
}
}
我所做的是实施touchesEnded事件。如果该事件发生在我的UITextField参数中,则我隐藏或显示UIPickerView
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
if (CGRectContainsPoint([self.textField frame], [touch locationInView:self.view]))
{
//Want to show or hide UIPickerView
if(pickerView)
{
submitButton.hidden = !submitButton.hidden;
pickerView.hidden = !pickerView.hidden;
}
}
}
我在我的博客里有代码和所有的东西来做到这一点。但在下文中,我列出了基本概念
基本上,该解决方案涉及github上一个名为ActionSheetPicker的开源项目,并在UITextFieldDelegate
上实现函数textfield应该开始编辑。您可以在那里关闭键盘并提供UIPickerView。基本代码如下所示:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
// We are now showing the UIPickerViewer instead
// Close the keypad if it is showing
[self.superview endEditing:YES];
// Function to show the picker view
[self showPickerViewer :array :pickerTitle];
// Return no so that no cursor is shown in the text box
return NO;
}
编辑我知道这个问题是不久前提出的,但觉得有必要提供一个更新的解决方案。
我在我的博客里有代码和所有的东西来做到这一点。但在下文中,我列出了基本概念
基本上,该解决方案涉及github上一个名为ActionSheetPicker的开源项目,并在UITextFieldDelegate
上实现函数textfield应该开始编辑。您可以在那里关闭键盘并提供UIPickerView。基本代码如下所示:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
// We are now showing the UIPickerViewer instead
// Close the keypad if it is showing
[self.superview endEditing:YES];
// Function to show the picker view
[self showPickerViewer :array :pickerTitle];
// Return no so that no cursor is shown in the text box
return NO;
}
编辑我知道这个问题是不久前提出的,但觉得有必要提供一个更新的解决方案。我认为应该是:-(BOOL)textfield应该开始编辑:(UITextField*)textfield你是对的。我得到了错误的API。我想这应该是:-(BOOL)textfield应该开始编辑:(UITextField*)textfield你是对的。我得到了错误的API。在您评论时正在更新答案:)在您评论时正在更新答案:)