我一直在项目中使用LGSideMenuController,从来没有出现过问题,直到我将它与UISplitViewController一起使用,并且确切地说,当我开始本地化我的App时,确实发生了问题,我确实在gitHub上打开并发出了问题,但我没有寻求帮助,
这是issue:
LGSideMenuController带有splitViewController并在iPad上设置了“左视图始终可见”,对于LTR来说一切都很好,但是当我开始将应用程序本地化为RTL时,在主视图和详细信息视图之间出现了一个奇怪的空间,我相信它具有相同的宽度用于侧面菜单。
这是LTR视图的常规视图(侧菜单始终可见+ uisplitViewController):
这是RTL和奇怪的空间:
当我更改LGSideMenuController的设置并禁用alwaysVisible选项时,似乎没有空格或其他任何东西都是正常的。
我还尝试了更改侧面菜单,并为RTL使用了右侧菜单,但同样如此。
这是我用于LGSideMenuController的内容:
let navigationController = UINavigationController(rootViewController: viewController)
let sideMenuController = LGSideMenuController(rootViewController: navigationController)
sideMenuController.leftViewController = leftMenu
sideMenuController.leftViewWidth = 100.0;
sideMenuController.leftViewPresentationStyle = .slideAbove
sideMenuController.leftViewLayerShadowColor = UIColor(red:0.96, green:0.96, blue:0.96, alpha:1.00)
sideMenuController.leftViewLayerShadowRadius = 4
sideMenuController.leftViewAlwaysVisibleOptions = [.onPad]
这是我做的临时修复:
在masterViewController-> uitableviewcontroller
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if UIDevice.current.userInterfaceIdiom == .pad {
if LanguageManager.isCurrentLanguageRTL() {
if changeLayout {
self.navigationController?.view.frame = CGRect(x: (self.navigationController?.view.frame.origin.x)! - 100, y: (self.navigationController?.view.frame .origin.y)! , width: (self.navigationController?.view.frame .width)! , height: (self.navigationController?.view.frame .height)!)
}
}else {
}
}
}
当然那是一个不好的看法,该视图不断更新,我不知道何时将其保持为-100,
任何帮助或想法,我该如何解决? 谢谢