取消键盘编程?

我想,我们不可能以编程方式取消locking虚拟键盘。 如果可能,当然,我想知道如何。 我还想,我们不能以编程方式打开分离键盘开关(常规>键盘)。

无论如何,我的情况如下。 我有一个顶部的tableview控件和下面的一个textview控件,底部有一个工具栏控件。 textview控件是可编辑的。 所以如果用户触摸它,虚拟键盘将打开,覆盖底部的工具栏控件。 此键盘将覆盖工具栏控件上的button。 我能做些什么,以便用户可以访问这些button? 我有一个通知就绪UIKeyboardDidShowNotificationUIKeyboardWillHideNotification,以便我可以告诉用户触摸textview控件。 将工具栏控件放在其他地方,而不是在底部? 我希望我不必这样做。 也许,当键盘弹起时,将整个视图向上移动? 我想我可以做到这一点。

感谢您的build议。

我刚刚决定在虚拟键盘打开时向上移动整个框架。 这看起来不错。

- (void)keyboardWasShown:(NSNotification*)aNotification { // NSLog(@"It's appeared."); keyboardup = true; [self.view setFrame:CGRectMake(self.view.frame.origin.x,self.view.frame.origin.y-300,self.view.frame.size.width,self.view.frame.size.height)]; 

}

 - (void)keyboardWillBeHidden:(NSNotification*)aNotification { // NSLog(@"It's gone"); keyboardup = false; [self.view setFrame:CGRectMake(self.view.frame.origin.x,self.view.frame.origin.y+300,self.view.frame.size.width,self.view.frame.size.height)]; 

}

 - (void)keyboardCallingNotifications { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil]; }