在UIView上是否有覆盖以知道它何时实际显示在屏幕上?

时间:2011-04-05 07:24:14

标签: uiview ios4 event-handling xamarin.ios

是否有一种方法可以使用UIView(或UIWindow)覆盖在屏幕上首次显示视图(或窗口)时将调用的方法?

注意:我在这个应用程序中没有UIViewController,如果可能的话我宁愿保持这种方式。

这类似于在WPF窗口上注册Activated事件?

在需要采取措施之前,我需要知道View在屏幕上实际显示的时间。

同样在具有多任务处理功能的iOS 4上,有一个覆盖功能可以获取“重新启动”的通知,这样您就可以在第一次显示视图并从多任务切换中再次显示时看出差异?

好的MonoTouch C#或Objective-C示例/答案。

1 个答案:

答案 0 :(得分:3)

public override void ViewDidAppear (bool animated)中的覆盖UIViewController将在屏幕上显示视图时显示。

通过多任务处理,App Delegate中有一个覆盖:public override void WillEnterForeground (UIApplication application)您可以通过UIViews可以订阅的iOS通知中心发起事件(C#)或发送UINotification,告诉他们他们认为应用程序已从后台恢复。