默认情况下在UISplitViewController上显示母版

问题描述 投票:0回答:2

当我使用Visual Studio for Mac(v8.4.5)创建新的“ Master Detail App”时,UISplitViewController的默认行为是当它以纵向显示在iPhone上时首先显示Detail页面模式。

我希望(正如我认为大多数人希望的那样)默认情况下显示Master页面。就我而言,母版页是一个包含联系人列表的表格视图。

此问题类似于:UISplitViewController in portrait on iPhone shows detail VC instead of master,但适用于Xamarin.iOS

类似于此处建议的解决方案,我试图分配一个代表但没有成功:

    public class ContactsSplitViewControllerDelegate : UISplitViewControllerDelegate
    {
        public override bool EventShowViewController(UISplitViewController splitViewController, UIViewController vc, NSObject sender)
        {
            return true;
        }

        public override bool EventShowDetailViewController(UISplitViewController splitViewController, UIViewController vc, NSObject sender)
        {
            return true;
        }
    }

    public partial class ContactsSplitViewController : UISplitViewController
    {
        public ContactsSplitViewController (IntPtr handle) : base (handle)
        {
            this.Delegate = new ContactsSplitViewControllerDelegate();
        }

    }
xamarin.ios uisplitviewcontroller
2个回答
0
投票

设置PreferredDisplayMode

public override void ViewDidLoad()
{
    base.ViewDidLoad();

    this.PreferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible;
}

0
投票

经过一些实验,尽管我还不确定这是正确的解决方案,但似乎可以在委托上重写CollapseSecondViewController

© www.soinside.com 2019 - 2024. All rights reserved.