如何检查iphone键盘后面是否有视图

如何检查iphone键盘后面是否有视图,iphone,objective-c,cocoa-touch,uikeyboard,Iphone,Objective C,Cocoa Touch,Uikeyboard,在我的应用程序中,我有一堆文本标签和文本视图。有时文本视图位于键盘下方。我的问题是,是否有办法检查文本视图是否在键盘后面,以便将其向上移动。我已经知道如何向上移动视图,我知道键盘将显示通知,但我不知道如何检查视图是否在键盘后面。问题是,如果textview不在皮艇板下面,我不想移动它。如何才能做到这一点 提前感谢。我认为看到这一点的唯一方法是验证每个UITextField和UITextView是否返回YES for [_text isFirstResponder]; 如果任何UITextFie

在我的应用程序中,我有一堆文本标签和文本视图。有时文本视图位于键盘下方。我的问题是,是否有办法检查文本视图是否在键盘后面,以便将其向上移动。我已经知道如何向上移动视图,我知道键盘将显示通知,但我不知道如何检查视图是否在键盘后面。问题是,如果textview不在皮艇板下面,我不想移动它。如何才能做到这一点


提前感谢。

我认为看到这一点的唯一方法是验证每个UITextField和UITextView是否返回YES for

[_text isFirstResponder];
如果任何UITextField或UITextView是第一响应者,则表示键盘位于屏幕底部

通过收听UITextFieldDelegate和UITextViewDelegate ShouldBeginEditing事件,您可以看到键盘将出现: 对于UITextField,它是:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;// return NO to disallow editing.
对于UITextView,它是:

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;

希望能有所帮助。

我会对第一响应者进行如上所示的检查

[text isFirstResponder];
然后我检查文本字段的边界是否小于215(因为我认为这是键盘的最大高度),并从那里调整。所以总的来说,它看起来像:

if([text isFirstResponder]){
    if(text.bounds.y > 215){
       text.bounds.y = CGPointMake(text.bounds.y-(text.bounds.y-215));
    }
}

当键盘打开时,你会看到你的视图吗?如果我想知道哪个视图称为键盘,这是有效的。如果视图实际位于键盘后面,则a希望查看。使用标记值查看哪个视图称为键盘。每个UIView都有一个选项卡属性。UIExtView和UIExtField是UIView的子类,它们不这样做。键盘高度因语言、方向等而异。