我认为我们无法以编程方式取消虚拟键盘的连接。如果可能,当然,我想知道如何。我还认为我们无法以编程方式打开 Split Keyboard 开关(General> Keyboard)。
无论如何,我的情况如下。我在顶部有一个tableview控件,在它下面有一个textview控件,底部有一个工具栏控件。 textview控件是可编辑的。因此,如果用户触摸它,虚拟键盘将打开,覆盖底部工具栏控件。此键盘将覆盖工具栏控件上的按钮。我该怎么做才能让用户可以访问这些按钮?我确实已准备好 UIKeyboardDidShowNotification 和 UIKeyboardWillHideNotification 的通知,以便我可以判断用户何时触摸textview控件。将工具栏控件放在除最底部之外的其他位置?我希望我不必这样做。也许,在键盘启动时向上移动整个视图?我想我能做到。
感谢您的建议。
答案 0 :(得分:-1)
我刚刚决定在虚拟键盘打开时向上移动整个画面。它看起来并不坏。
- (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];
}