ios - 如何处理此设计 - iOS

标签 ios swift xcode6 uistoryboard

我的应用程序是基于导航的 iPad 应用程序。

第一个屏幕是主屏幕。在主屏幕上单击按钮时,它会推送到 map 屏幕。在 map 屏幕上,我将面板( View Controller )留在占据屏幕 1/4 的 map View Controller 上。

左面板是一个具有 TableView 的 View Controller 。单击单元格时,它应该将新的 View Controller 推送到左侧面板,留下 map View Controller 。

             Push
Home Screen -------- Map Screen
                  |(Added over map screen)         Push
                  |----- Left Panel (Table View) -------- Detail View

我无法使用 Split View Controller,因为左侧面板和主屏幕中都有导航。有时我需要动画/隐藏左面板。我可以自定义左侧面板。

如何实现这个结构。使用 Nested Navigation Controller 好还是有可用的库。我的应用程序支持纵向和横向。我正在使用 Swift。

最佳答案

对不起,我也不了解 Swift。但是,我认为你必须声明一个基本布局: 您将拥有一个包含 LeftPanelViewControllerFrontViewController 的 MainViewController。在 MainViewController nib 中,您将使用 AutoLayout 创建主布局:在屏幕左侧添加一个 UIView,为首页添加另一个 UIView。 然后,链接网点,您将完成布局!然后,您只需向 leftPanelViewFrontView 添加/删除 subview 。

现在,我认为正确的逻辑是 MainViewControllerNavigationController,所以你必须实现 LeftPanelViewControllerFrontViewController,因此 Main 将知道如何以及何时添加/删除 subview 。

重要的是没有一个对象必须知道 MainViewController 的存在才能保留逻辑。所以你必须通知 MainViewController 一些东西,使用 delegation pattern 或其他东西作为 NSNotification (注意,它可能很重.. .)

希望对您有所帮助。再见

关于ios - 如何处理此设计 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27875377/

相关文章:

ios - 如何在 xcode (iOS) 模拟器中手动安装应用程序

iOS UIView 渲染到 UIImage - Apple 的示例代码只工作一次

ios - 单独选择SegmentedControl的字体

ios - swift : Enum constant with type and value

image - 如何在 Swift 中更改 IBAction UIButton 的图像?

xcode - 我可以用来提交到应用商店的最低 Xcode 版本是多少

ios - NSdate Formatter 和结果转换为 NSstring

ios - Tesseract-OCR 的 OS X 版本?

ios - 如何在 iOS 10 中替换折旧的 UILocalNotification 并添加 UNNotificationAction

swift - GetStream EnrichedActivity 类的复制问题