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,第一次迭代

Swift ImagePicker StartVideoCapture

如何使用 Swift/SwiftUI 从 ImagePicker 获取选定的图像文件名

Swift ImagePicker VideoCapture didFInishPickingMedia 未被调用

Swift - iOS 9:如何在 iOS 9 中呈现具有自定义大小的 UIViewController? [复制]

iOS Swift - 在呈现新的视图控制器时呈现视图控制器向下滑动