iOS Swift:在呈现 imagePicker 后,SlidingMenuView 位置错误
Posted
技术标签:
【中文标题】iOS Swift:在呈现 imagePicker 后,SlidingMenuView 位置错误【英文标题】:iOS Swift : SlidingMenuView wrong Position after presenting imagePicker 【发布时间】:2015-04-08 15:57:14 【问题描述】:我在我的项目中的 TabBar 控制器和导航控制器中使用 PageMenu。 当我初始化“滚动菜单”时,我使用它在状态栏和导航栏下显示它:
pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: CGRectMake(0, UIApplication.sharedApplication().statusBarFrame.size.height + self.navigationController!.navigationBar.frame.height, self.view.frame.width, self.view.frame.height), options: parameters)
此解决方案运行良好,可在我想要的位置准确显示我的菜单! 然后我在其中一个滚动视图中显示一个图像选择器视图。关闭后,菜单回到初始位置(在导航栏下)...
有什么办法可以避免这个问题吗? (如果您需要更多详细信息,我可以提供更多代码)
附:我不是以英语为母语的人,所以我希望我的问题可以理解 :)
【问题讨论】:
我也有类似的问题。你已经解决了吗? 对不起,我从来没有找到任何解决方案。遗憾的是我决定停止使用“PageMenu” 【参考方案1】:添加视图控制器“pageMenu”作为父控制器的子级,问题解决了
【讨论】:
哇。你真棒。非常感谢你。这有效。 addChildViewController(pageMenu!) self.view.addSubview(pageMenu!.view) pageMenu!.didMove(toParentViewController: self) 有一个问题,我无法从 CAPSPageMenu 导航/推送,请提供任何解决方案...... 哇,你拯救了我的一天!【参考方案2】:它在 Obj-C 中,但我认为 Swift 是一样的。 在父视图控制器中,将 pageMenu 添加为子 VC:
[self addChildViewController:_pageMenu];
在子 VC 中,通过以下方式调用选择器:
UIViewController*vc=self.parentViewController.parentViewController;
[vc presentViewController:imagePickerController
animated:YES
completion:nil];
【讨论】:
【参考方案3】:问题是viewDidLoad中添加了pageMenu,这里view没有正确的措施。 在故事板上创建一个容器视图并在容器中添加 PageMenu。 为我工作,虽然这可能不是一个好习惯
【讨论】:
以上是关于iOS Swift:在呈现 imagePicker 后,SlidingMenuView 位置错误的主要内容,如果未能解决你的问题,请参考以下文章
Swift ImagePicker StartVideoCapture
如何使用 Swift/SwiftUI 从 ImagePicker 获取选定的图像文件名
Swift ImagePicker VideoCapture didFInishPickingMedia 未被调用