我有一个包含所有文本字段和按钮的主视图。对于我的文本字段,我使用 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];
}
这接近我需要做的吗?