是否可以动态关闭菜单(分屏)

时间:2013-12-04 10:26:58

标签: ios uisplitviewcontroller rubymotion

我一直在研究一个RubyMotion项目,我正在使用UISplitViewController,但我想知道:是否有可能以编程方式关闭侧屏幕(所以隐藏的屏幕)?

我猜这是iOS中的私有API,但我不确定或者这是真的。我可以通过点击屏幕上的其他位置来关闭分屏(默认iOS行为),但我找不到创建该效果的功能。

我一直在网上搜索这个,但我找不到这个问题的答案。希望你们能帮助我。

干杯。

1 个答案:

答案 0 :(得分:2)

要完成此操作,您需要使用UISplitViewController Delegate并实施splitViewController:shouldHideViewController:inOrientation:

当按下按钮时,分配的代理可以具有在true/false之间更改的属性。

splitViewController:shouldHideViewController:inOrientation:中,您将返回该属性以说明是否应显示主视图。

最后,当按下按钮时,您还需要调用setNeedsLayout强制重绘并调用委托方法。

# Button Touch Handler
def hideShowMasterViewButtonPressed(sender)
  self.hideMasterView = !self.hideMasterView
  self.splitViewController.view.setNeedsLayout
end

# Delegate Method
def splitViewController(svc, shouldHideViewController:vc, inOrientation:orientation)
  self.hideMasterView
end

This is where I got the idea.