在我的应用程序中,我有一堆textlabels和textviews。有时文本视图位于键盘下方。我的问题是,是否有办法检查键盘后面是否有文本视图来移动它。我已经知道如何移动视图,我知道keyboardWillAppear通知,但我不知道如何检查视图是否在键盘后面。问题是,如果它不在kayboard下面,我不想移动textview。怎么能实现呢?
提前致谢。
答案 0 :(得分:0)
我认为看到这个的唯一方法是验证每个UITextField和UITextView是否为
返回YES[_text isFirstResponder];
如果任何UITextField或UITextView是First Responder,那么这意味着键盘位于屏幕的底部。
您可以通过收听UITextFieldDelegate和UITextViewDelegate ShouldBeginEditing事件来查看键盘: 对于UITextField,它是:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;// return NO to disallow editing.
,对于UITextView,它是:
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;
希望它有所帮助。
答案 1 :(得分:0)
我会检查第一响应者,如上所示
[text isFirstResponder];
然后我要检查文本字段边界的边界是否小于215(因为我认为键盘的最大高度)并且从那里开始容纳。所以它们一起看起来像:
if([text isFirstResponder]){
if(text.bounds.y > 215){
text.bounds.y = CGPointMake(text.bounds.y-(text.bounds.y-215));
}
}