有人知道改变从UISplitViewController委托返回的按钮的文本(和外观吗?)的方法:
func displayModeButtonItem() -> UIBarButtonItem?
Run Code Online (Sandbox Code Playgroud)
vol*_*s88 19
我以这样的方式解决了这个问题:
UIBarButtonItem(image: UIImage(named:"home"),
landscapeImagePhone: UIImage(named:"home"),
style: UIBarButtonItemStyle.Plain,
target: splitViewController.displayModeButtonItem().target,
action: splitViewController.displayModeButtonItem().action)
Run Code Online (Sandbox Code Playgroud)
我在AppDelegate中使用它而不是splitViewController.displayModeButtonItem()它,它对我来说很好.
我在我的解决方案中结合了josh和voluntas88的解决方案.
首先,您需要使用该UISplitViewControllerDelegate方法
func targetDisplayModeForActionInSplitViewController(_ svc: UISplitViewController) -> UISplitViewControllerDisplayMode
,然后添加自定义的UIBarButtonItem.这是我的解决方案:
func targetDisplayModeForActionInSplitViewController(svc: UISplitViewController) -> UISplitViewControllerDisplayMode {
if svc.displayMode == UISplitViewControllerDisplayMode.PrimaryHidden || svc.displayMode == UISplitViewControllerDisplayMode.PrimaryOverlay {
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named:"menu.png"),
landscapeImagePhone: UIImage(named:"menu.png"),
style: UIBarButtonItemStyle.Plain,
target: self.splitViewController!.displayModeButtonItem().target,
action: self.splitViewController!.displayModeButtonItem().action)
}else {
// disable button on landscape
if UIApplication.sharedApplication().statusBarOrientation == UIInterfaceOrientation.LandscapeLeft || UIApplication.sharedApplication().statusBarOrientation == UIInterfaceOrientation.LandscapeRight {
self.navigationItem.leftBarButtonItem?.enabled = false
}
}
return UISplitViewControllerDisplayMode.Automatic
}
Run Code Online (Sandbox Code Playgroud)
小智 1
我有这个完全相同的问题。
这就是我要解决的方法,我将更新我的结果。
返回UIBarButtonItem的内容由其在适当的时间内displayModeButtonItem进行管理。UISplitViewController因此,您所做的任何更改都会被阻止。
然而,有一个新的委托函数:
- (UISplitViewControllerDisplayMode)targetDisplayModeForActionInSplitViewController:(UISplitViewController *)svc
Run Code Online (Sandbox Code Playgroud)
我将创建我自己的,UIBarButtonItem它将根据此函数何时触发而改变。
然后我将让它适当地触发显示模式。
| 归档时间: |
|
| 查看次数: |
6421 次 |
| 最近记录: |