【问题标题】:How to enable/add a BackButton on the NavigationController?如何在 UINavigationController 上启用/添加后退按钮?
【发布时间】:2012-02-15 13:53:39
【问题描述】:

我尝试了很多方法,但都没有成功。

这样我可以创建一个新的 UIBarButtonItem 并且它可以工作,问题是它像 backButton/ArrowBackButton 一样锁定:

            public override void ViewWillAppear (bool animated) 
            { 
               base.ViewWillAppear (animated);  


               this.NavigationItem.LeftBarButtonItem = new UIBarButtonItem  ("Tillbaka", UIBarButtonItemStyle.Plain, delegate(object sender, EventArgs e) { 
               this.NavigationController.PopViewControllerAnimated (true);  
                    }); 

            } 

试过了,还是不行:

      public override void ViewWillAppear (bool animated)
     {
        base.ViewWillAppear (animated); 

            this.NavigationItem.SetHidesBackButton(false,true);

         }

【问题讨论】:

    标签: c# uinavigationcontroller xamarin.ios uibarbuttonitem uinavigationitem


    【解决方案1】:

    使用 MonoTouch.Dialog,您必须设置“推送”标志才能显示后退按钮。您可以在构造函数中执行此操作,如下所示:

    public class MyViewController : DialogViewController
    {
        public MyViewController
            : base(new RootElement("foo"), true)
        {
    
        }
    }
    

    【讨论】:

    • 谢谢老兄,它完美运行! RootElement 是进入 DVC 的项目的顶级容器。
    【解决方案2】:

    请您提供一些背景信息吗?这个 ViewController 如何被添加到 NavigationController 中?

    如果您使用 PushViewController 方法(如下所示),则会自动添加一个后退按钮。

    var viewController = new UIViewController();
    this.NavigationController.PushViewController(viewController, true);
    

    【讨论】:

    • 我使用 PushViewController 方法,所以我得到了我的视图。我还可以提一下,第一个 Controller 是 Monotouch.Dialog 中的 DialogViewController。
    • 我很想看看您的代码,了解您的 vc 是如何创建并推送到导航控制器上的,因为绝对应该为您处理后退按钮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多