2014-09-24 17 views
4

我有一个应用程序的登录/注册视图控制器。默认情况下,注册表单在屏幕外并在用户按下注册按钮时滑入。iOS 8键盘重置视图控制器到故事板位置

在iOS8上,通过单击注册表单上的文本字段之一打开键盘可使视图重置为其故事板位置(即注册表单离开屏幕)。

我试图通过设置注册视图重叠在故事板的顶部,但隐藏它在viewDidLoad。按下其中一个登录字段会使注册视图突然显示在最上面。

所以问题似乎是从故事板重新加载视图位置的键盘。或者也许是自动布局?

任何帮助表示赞赏

更新

我禁用自动布局,问题似乎是固定的。不过,我想使用自动布局,所以这不是很好。

编辑代码

这是用于移动登记表视图中发生的代码。它移动视图中的视图

- (IBAction)openRegisterForm:(id)sender { 
    _registrationViewOpen = YES; 
    [UIView animateWithDuration:0.5f 
       animations:^{ 
        [[self leftBar] setFrame:CGRectMake(self.view.frame.size.width - self.leftBar.frame.size.width, 0, self.leftBar.frame.size.width, self.leftBar.frame.size.height)]; 
        [registrationForm setFrame:CGRectMake(0.0f, 0.0f, registrationForm.frame.size.width, registrationForm.frame.size.height)]; 
       }]; 
} 
+0

视图的上海华你怎么移动视图到的可见部分视图?你是否使相应的约束动画?如果你可以发布一些代码会很好。 – Hannes 2014-09-24 14:40:10

回答

2

通过动画约束来修复而不是视图本身。

在Interface building中,我制作了IBOutletConnection s到相应的约束条件(在这种情况下,来自超级视图的前缘)并更改了动画块中的constraint.constant

为了使动画调用view.layoutIfNeeded

注:在iOS8上需要调用.layoutIfNeeded你要移动

相关问题