我正在使用 MonoDevelop 3.0.3 和 Monotouch 5.2.12
为什么在 iOS 5.1 中从未调用“UISplitViewController”类中的“ShouldHideViewController”?
如果我不分配“ShouldHideViewController”和“将显示/隐藏”属性,左/主视图会正确显示,但我无法在主视图中隐藏/显示“BarButtonItem”(viewFees ).
以下是我的 Split View类代码:
using System;
using MonoTouch.UIKit;
namespace PlazaTimePad
{
public class FeesSplitViewController : UISplitViewController
{
CalendarMonthViewController viewCalendar;
FeeListViewController viewFees;
public FeesSplitViewController () : base()
{
this.TabBarItem.Title = "My Time";
viewFees = new FeeListViewController ();
viewCalendar = new CalendarMonthViewController (viewFees);
ViewControllers = new UIViewController[] {viewCalendar, viewFees};
WillHideViewController += (object sender, UISplitViewHideEventArgs e) => {
viewFees.AddContentsButton (e.BarButtonItem);
};
WillShowViewController += (object sender, UISplitViewShowEventArgs e) => {
viewFees.RemoveContentsButton ();
};
ShouldHideViewController += (svc, viewController, inOrientation) => {
return inOrientation == UIInterfaceOrientation.Portrait ||
inOrientation == UIInterfaceOrientation.PortraitUpsideDown;
};
}
}
}
最佳答案
我认为您应该只覆盖 WillRotate
或 DidRotate
来实现您要执行的操作。
这是链接:
如果您使用 native 帮助浏览器(帮助菜单 -> 帮助)浏览这些文档,您将获得与 C# 集成的完整 Apple 文档。
关于iOS 5 UISplitViewController 不调用 ShouldHideViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008346/