Uiviewcontroller ViewDidUnload和ShouldAutorotateToInterfaceOrientation替换MonoTouch

Uiviewcontroller ViewDidUnload和ShouldAutorotateToInterfaceOrientation替换MonoTouch,uiviewcontroller,xamarin.ios,ios6,Uiviewcontroller,Xamarin.ios,Ios6,既然iOS 6已经弃用了viewDidUnload和shouldAutorotateToInterfaceOrientation,那么我们应该用什么来取代它们呢 视图卸载 iOS6不再调用ViewDiUnload和viewWillUnload。Xamarin的发行说明也涵盖了这一点 是否应自动旋转指针面方向 可以覆盖两个新方法(在iOS6中,在MonoTouch中提供)以获得相同的结果。 有关更多详细信息,请参见Apple的shouldAutorotateToInterfaceOrientati

既然iOS 6已经弃用了
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来说非常简单(而且便宜)。关于弃用的更多细节,请参见