didMoveToWindow:如何调用这个方法?
Posted
技术标签:
【中文标题】didMoveToWindow:如何调用这个方法?【英文标题】:didMoveToWindow: How will this method be called? 【发布时间】:2011-11-18 00:32:55 【问题描述】:我花了很多时间搜索这个但没有成功(包括文档),仍然对didMoveToWindow:
方法感到困惑。
在股票视图项目模板中使用didMoveToWindow:
:
-(void)didMoveToWindow
[super didMoveToWindow];
// do something
给出以下警告:
警告:“UIViewController”可能不会响应“didMoveToWindow”
在启动视图时不会调用它,这是一个惊喜。 这个方法怎么调用?
【问题讨论】:
【参考方案1】:didMoveToWindow
是UIView
的方法,而不是UIViewController
。
【讨论】:
简短是好的抢劫,但太简短了。您能否详细说明它的名称,简短的例子? 任何时候view.window
的值发生变化,视图都会向自己发送didMoveToWindow
消息。这包括首次初始化 view.window
的时间(例如,在 nib 加载器的深处,或者首次完成 [parentView addSubview:view]
时,如果 parentView
已经在窗口中)。【参考方案2】:
在 UIViewController 中,您可能需要 viewDidAppear。
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/viewDidAppear:
【讨论】:
以上是关于didMoveToWindow:如何调用这个方法?的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationController 在一个视图上调用 willMoveToWindow 和 didMoveToWindow 两次,在显示动画的情况下