Uiviewcontroller ViewDidUnload和ShouldAutorotateToInterfaceOrientation替换MonoTouch
既然iOS 6已经弃用了Uiviewcontroller ViewDidUnload和ShouldAutorotateToInterfaceOrientation替换MonoTouch,uiviewcontroller,xamarin.ios,ios6,Uiviewcontroller,Xamarin.ios,Ios6,既然iOS 6已经弃用了viewDidUnload和shouldAutorotateToInterfaceOrientation,那么我们应该用什么来取代它们呢 视图卸载 iOS6不再调用ViewDiUnload和viewWillUnload。Xamarin的发行说明也涵盖了这一点 是否应自动旋转指针面方向 可以覆盖两个新方法(在iOS6中,在MonoTouch中提供)以获得相同的结果。 有关更多详细信息,请参见Apple的shouldAutorotateToInterfaceOrientati
viewDidUnload
和shouldAutorotateToInterfaceOrientation
,那么我们应该用什么来取代它们呢
视图卸载
iOS6不再调用ViewDiUnload
和viewWillUnload
。Xamarin的发行说明也涵盖了这一点
是否应自动旋转指针面方向
可以覆盖两个新方法(在iOS6中,在MonoTouch中提供)以获得相同的结果。
有关更多详细信息,请参见Apple的shouldAutorotateToInterfaceOrientation选择器
请注意,shouldAutorotateToInterfaceOrientation
仍然被调用(不推荐使用,不鼓励以后使用,但如果您支持旧版本的iOS,它仍然可用)。ViewDidUnload()
您可以删除它。如果有代码,则必须将其移动到ViewWillEnglishe()中,将对应的代码移动到ViewWillExample()
。WWDC 2012的相关讲座包括第236集(视图控制器的演变)和第200集(Cocoa Touch的新功能)
ShouldAutoRotateToInterfaceOrientation()
被SupportedInterfaceOrientations()替换。
请参见此处:如果我的目标是5.1版,为什么仍会收到这些警告?如果设备运行的是5.1,会调用这些方法吗?因为MonoTouch 6与iOS6 API同步,并且[过时]
允许C#编译器发出警告(但编译器不符合您的目标)。iOS 5.1保持不变,因此将像以前一样调用viewDidUnload
,viewdillunload
(即停止调用它们的是iOS,而不是MonoTouch)。这是否意味着iOS 6中发布了一组方法(或检查),而在旧版本中则是一组完全不同的方法?我知道这个旋转系统现在是根据plist和SupportedInterfaceOrientations方法中的信息运行的,但是这个方法在旧版本中是否被支持和调用?我怀疑我们的应用程序的每个用户都会升级到iOS 6,所以我希望能更清楚地了解我对这些过时警告的处理方式。目前我只是忽略了它们,但我几乎不说这是安全的。@LasseV.Karlsen我和Xamarin都没有访问iOS代码的权限。OTOH Apple已经必须检查您是否覆盖/实现了shouldAutorotateToInterfaceOrientation
(例如,使用respondToSelector
),因此在iOS中添加第二个检查对Apple来说非常简单(而且便宜)。关于弃用的更多细节,请参见