我一直在研究一个RubyMotion项目,我正在使用UISplitViewController,但我想知道:是否有可能以编程方式关闭侧屏幕(所以隐藏的屏幕)?
我猜这是iOS中的私有API,但我不确定或者这是真的。我可以通过点击屏幕上的其他位置来关闭分屏(默认iOS行为),但我找不到创建该效果的功能。
我一直在网上搜索这个,但我找不到这个问题的答案。希望你们能帮助我。
干杯。
答案 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