Iphone 需要帮助同步视图加载的时间吗

Iphone 需要帮助同步视图加载的时间吗,iphone,objective-c,xcode,uiviewcontroller,Iphone,Objective C,Xcode,Uiviewcontroller,我有一个ui视图,它使用以下代码从屏幕外推到屏幕上。问题是,首先加载的是键盘,然后是视图,就像是两个单独的视图被推到屏幕上一样 我想要的是让键盘和视图同时加载 [UIView animateWithDuration:.5 animations:^{ [self.weightView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame

我有一个
ui视图
,它使用以下代码从屏幕外推到屏幕上。问题是,首先加载的是键盘,然后是视图,就像是两个单独的视图被推到屏幕上一样

我想要的是让键盘和视图同时加载

[UIView animateWithDuration:.5 
                 animations:^{
                     [self.weightView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
                 } 
                 completion:^(BOOL finished){
                     [weightTextField becomeFirstResponder];
                 }];

您应该调用“动画:”块中的
BecomeFirstrsPounder
,而不是“完成:”块,以便将键盘和视图一起设置动画,而不是一个接一个。

何时触发此动画?在导航按钮调用的iAction方法中。可能是因为视图帧的动画太短。您无法控制键盘动画的持续时间(其动画由操作系统本身完成),因此如果希望同步,您需要视图以相同的持续时间进行动画制作。同步动画的常用方法是捕获UIKeyboardWillShowNotification(或任何它的名称)并从
notification.userInfo