Ios7 从UIPickerView切换到键盘
我有一个UIPickerView,它附带了一个工具栏按钮,允许用户从选择器视图切换到键盘视图。pickerView应该向下滑动,键盘应该在它的位置向上滑动。。。理论上 当用户单击textFieldDidBeginEditing中的文本字段时,将显示pickerViewIos7 从UIPickerView切换到键盘,ios7,keyboard,uitextfield,uipickerview,uikeyboard,Ios7,Keyboard,Uitextfield,Uipickerview,Uikeyboard,我有一个UIPickerView,它附带了一个工具栏按钮,允许用户从选择器视图切换到键盘视图。pickerView应该向下滑动,键盘应该在它的位置向上滑动。。。理论上 当用户单击textFieldDidBeginEditing中的文本字段时,将显示pickerView elementPicker = [[UIPickerView alloc] init]; [elementPicker setDelegate:self]; elementPicker.showsSelec
elementPicker = [[UIPickerView alloc] init];
[elementPicker setDelegate:self];
elementPicker.showsSelectionIndicator = YES;
...
[_itemElementField setInputView:elementPicker];
当用户单击“使用键盘”按钮时,我有一种方法可以关闭选择器并调用键盘。我可以毫无问题地关闭pickerview,但无法显示键盘
救命啊
以下是当用户需要键盘时调用的方法:
-(void)useKeyboardClicked:(id)sender {
NSLog(@"'USE KEYBOARD' BUTTON CLICKED");
// DISMISS THE PICKER VIEW
[elementPicker removeFromSuperview];
[_itemElementField resignFirstResponder];
_itemElementField.inputAccessoryView = nil;
// SET ELEMENTPICKER TO THE DEFAULT KEYBOARD
elementPicker = UIKeyboardTypeDefault;
[_itemElementField setInputView:elementPicker];
// SHOW KEYBOARD
[_itemElementField becomeFirstResponder];
}
我现在正在抓救命稻草,需要一些帮助!我甚至尝试在头文件中用
@property (strong, nonatomic) IBOutlet UIKeyboard *elementKeyboard;
但这根本不起作用。这里有一个解决方案,首先,您必须声明布尔变量checkFlag,以保存useKeyboardClicked的记录: 然后 { }
有一件事我不是完全错了,但我不能将选择器视图设置为键盘。。。。。试试我给你的提示…对于那些将来可能会有这个问题的人,答案非常简单。
在使用“重新加载输入视图”将输入视图重置为键盘后,需要重新加载输入视图 代码如下:
-(void)useKeyboardClicked:(UITextField *)sender {
NSLog(@"'USE KEYBOARD' BUTTON CLICKED");
[_itemElementField setInputView:UIKeyboardTypeDefault];
[_itemElementField becomeFirstResponder];
[_itemElementField reloadInputViews];
}
什么是
\u itemElementField
?\u itemElementField是用户单击以调用选择器的文本字段的名称。
if (checkFlag) {
checkFlag=false;
[txtField setInputView:nil];
[txtField reloadInputViews];
[txtField setKeyboardAppearance:UIKeyboardAppearanceDefault]; //you can set UIKeyboardAppearnce as Dark,light, alert instead of Default
[txtField setKeyboardType:UIKeyboardTypeDefault]; // you set decimal keyboard
} else {
checkFlag=TRUE;
[txtField setInputView:nil];
[txtField setInputAccessoryView:numberToolbar];
[txtField setInputView:pickerView];
}
-(void)useKeyboardClicked:(UITextField *)sender {
NSLog(@"'USE KEYBOARD' BUTTON CLICKED");
[_itemElementField setInputView:UIKeyboardTypeDefault];
[_itemElementField becomeFirstResponder];
[_itemElementField reloadInputViews];
}