我对ScrollView有一个奇怪的问题。我目前在一个ViewController上有4个TextFields和4个Labels,当键盘弹出时,它会阻碍4对TextFields和Labels中的3对的视图。我添加了一个ScrollView,但是当我这样做时,我突然无法单击TextFields并弹出键盘。任何想法或替代方法来修复阻碍视线?
答案 0 :(得分:0)
您可能在文本字段顶部有新视图,因此当您单击时实际上是在视图中单击而不是在文本字段中。这在XCode的调试视图中很容易看到。 关于覆盖测试字段的键盘问题,为了解决这个问题,您必须分配这两个通知
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillHideNotification
object:nil];
并实现代码,以便在键盘弹出时将字段移开,并在其消失时返回正常位置。类似的东西:
-(void)keyboardWillShow {
// Animate the current view out of the way
if (self.view.frame.origin.y >= 0)
{
[self setViewMovedUp:YES];
}
else if (self.view.frame.origin.y < 0)
{
[self setViewMovedUp:NO];
}
}
-(void)keyboardWillHide {
if (self.view.frame.origin.y >= 0)
{
[self setViewMovedUp:YES];
}
else if (self.view.frame.origin.y < 0)
{
[self setViewMovedUp:NO];
}
}
有很多关于它的帖子,一个很好的例子是“当键盘存在时如何使UITextField向上移动”ate How to make a UITextField move up when keyboard is present?
我希望有所帮助。