【问题标题】:iOS: SplitView show master with UIButton on detailiOS:SplitView show master with UIButton on detail
【发布时间】:2023-03-15 22:42:01
【问题描述】:

我开发了一个在 iPad 上具有 UISplitViewController 的应用程序。主视图是嵌入在 NavigationController 中的表格视图。细节不在 NavigationController 中(我不希望这样)。我已向要显示/隐藏主视图的详细信息添加了一个按钮。我希望该应用程序在 iOS 7.0 及更高版本上运行。如何从按钮单击详细视图中调用主视图?

【问题讨论】:

    标签: ios xcode ipad uisplitviewcontroller master-detail


    【解决方案1】:

    首先,重写以下委托方法:

    - (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
    

    并使用它来获取对条形按钮项的引用,并将其存储在 iVar 中:

    barButtonForMaster = barButtonItem;
    

    然后,当您想显示主视图控制器时,请这样调用:

    [barButtonForMaster.target performSelector: barButtonForMaster.action withObject: barButtonForMaster];
    

    如果您想在开始时正确执行此操作,请使用一些延迟以防止应用崩溃(感谢有用的评论):

    [barButtonForMaster.target performSelector: barButtonForMaster.action withObject: barButtonForMaster afterDelay:1];
    

    在这种情况下,您可以在拆分视图委托方法中直接执行选择器。

    【讨论】:

    • 谢谢,但我真正想要的是 myMethodToShowHideMaster 的代码
    • 如果我的详细视图嵌入到导航控制器中,这将起作用,但事实并非如此。我在详细视图上使用 UIButton,而不是 UIBarButtonItem。您能否在不使用导航控制器的情况下更新 UIButton 的答案
    【解决方案2】:

    我找到了回答我问题的教程。你可以在这里找到它:http://www.dharmaworks.net/Consulting/switching-detail-views-in-uisplitviewcontroller-with-ios7/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多