2013-02-28 90 views
-1

我想,我们不可能以编程方式取消锁定虚拟键盘。当然,如果可能的话,我想知道如何。我也认为,我们不可能以编程方式打开分体键盘开关(通用>键盘)。以编程方式取消键盘键盘?

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

谢谢您的建议。

+1

我想这可能是不太好的UI。当您处于编辑模式时,您的键盘应该覆盖标签栏,然后轻松取消键盘。 – nielsbot 2013-03-01 06:35:04

+0

好的。感谢您的建议。 – 2013-03-01 07:45:41

回答

-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]; 
}