我的所有文本框和按钮都有主视图。对于我的文本字段,我正在使用inputView来显示UIPickerViews而不是键盘。我想知道如何以这种方式选择文本框时使视图保持向上移动,因为选择器和选择器工具栏不会覆盖文本框,因为我在底部有一些文本框被覆盖了。我曾尝试使用带有表视图的教程中的以下代码,但对我而言不起作用。它的构建没有错误,但是无法正常工作。该视图只是消失,然后仅在关闭pickerView时才返回一半。

    - (void)viewDidLoad {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pickerShown:) name:UIKeyboardDidShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pickerHidden:) name:UIKeyboardWillHideNotification object:nil];

}

-(void)pickerShown:(NSNotification *)note {
CGRect pickerFrame;
[[[note userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey]   getValue:&pickerFrame];
CGRect scrollViewFrame = mainView.frame;
scrollViewFrame.size.height -= pickerFrame.size.height;
[mainView setFrame:pickerFrame];
}
-(void)pickerHidden:(NSNotification*)note{
[mainView setFrame:self.view.bounds];
}


这接近我需要做什么吗?

最佳答案

我可以建议看看this tutorial“围绕UITextFields滑动以避免键盘”。

在您的情况下,您需要将它们具有的代码放入textFieldDidBeginEditing方法中的pickerShown中,然后将其对于键盘高度的常数更改为拾取器高度。

希望这可以帮助 :)

关于ios - 显示UIPickerView时如何向上移动 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11874588/

10-10 20:26