滚动视图有问题

时间:2015-05-01 00:20:36

标签: ios objective-c uiscrollview viewcontroller

我对ScrollView有一个奇怪的问题。我目前在一个ViewController上有4个TextFields和4个Labels,当键盘弹出时,它会阻碍4对TextFields和Labels中的3对的视图。我添加了一个ScrollView,但是当我这样做时,我突然无法单击TextFields并弹出键盘。任何想法或替代方法来修复阻碍视线?

1 个答案:

答案 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?

我希望有所帮助。