UIPickerView作为inputView没有隐藏在iPad上

时间:2013-08-14 12:05:41

标签: ios ipad uitextfield uipickerview inputview

我在我的应用中将UIPickerView添加为inputViewUITextField。它在iPhone上完美运行,但是当我在iPad上运行相同的代码时,我的pickerView在点击done按钮时不会隐藏。
一些代码:

picker = [[UIPickerView alloc] initWithFrame:CGRectZero];
picker.delegate = self;
picker.dataSource = self;
[picker setShowsSelectionIndicator:YES];
self.someInput.inputView = provincePicker;

UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]
    initWithBarButtonSystemItem:UIBarButtonSystemItemDone
    target:self action:@selector(inputAccessoryViewDidFinish)];
[pickerToolbar setItems:[NSArray arrayWithObject:doneButton] animated:NO];
self.someInput.inputAccessoryView = pickerToolbar;

我需要更改(添加?)以使选择器消失?

编辑:inputAccessoryViewDidFinish是我的方法,它只是调用

[self.someInput resignFirstResponder]

2 个答案:

答案 0 :(得分:2)

-(void)inputAccessoryViewDidFinish

{
   [self.someInput resignFirstResponder];
}

编辑:实施-disablesAutomaticKeyboardDismissal并返回NO。这应该让键盘全部消失。

答案 1 :(得分:0)

您需要使用UIPopOverController来获得相同的结果。

This教程可以帮助您入门。