【问题标题】:Need Help Syncing Timing of View Loading需要帮助同步视图加载时间
【发布时间】:2011-06-19 02:07:10
【问题描述】:

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

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

[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];
                 }];

【问题讨论】:

  • 你什么时候触发这个动画?
  • 在由导航按钮调用的 IBAction 方法中。

标签: iphone objective-c xcode uiviewcontroller


【解决方案1】:

您应该在“animation:”块中调用becomeFirstRsponder,而不是在“completion:”块中调用,以便键盘和视图一起动画,而不是一个接一个。

【讨论】:

  • 可能是因为你的view frame动画太短了。您无法控制键盘动画的持续时间(其动画由操作系统本身完成),因此如果您希望视图同步,则需要以相同的持续时间进行动画处理。
  • 同步动画的常用方法是捕获 UIKeyboardWillShowNotification (或其他任何名称)并将持续时间拉出notification.userInfo
猜你喜欢
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-14
  • 2011-02-27
相关资源
最近更新 更多