UI 模板视图 - iOs 应用程序上所有场景中的通用 UI 元素?

Posted

技术标签:

【中文标题】UI 模板视图 - iOs 应用程序上所有场景中的通用 UI 元素?【英文标题】:UI template view - common UI elements in all scenes on iOs application? 【发布时间】:2013-04-10 19:43:15 【问题描述】:

我正在开发具有通用 UI 元素的 ios 应用程序 - 所有场景的页眉(带有自定义按钮)、背景图像和页脚。是否可以使用带有公共元素的故事板设计一个模板场景/视图,并将其用于所有其他场景/视图控制器作为基础?在其他场景中,只需将内容添加到空闲位置(图像、表格等)。

我在考虑使用硬编码元素的通用自定义 UIViewController 超类,但使用故事板设计 UI 更容易。

应用程序必须与 iOs 5.0 兼容

【问题讨论】:

与***.com/questions/15869462/…非常相似 【参考方案1】:

选项包括:

    使用自定义容器视图控制器。将您的公共控件放在该控制器上,然后为您的子视图使用视图控制器包含。有关详细信息,请参阅

    WWDC 2011 - 102 - Implementing UIViewController Containment视频

    UIViewController 类参考中的Implementing Custom View Controller

    UIViewController 编程指南中的Creating Custom Container View Controllers

    定义一个UIViewController 子类,该子类以编程方式创建公共图形元素,然后从该子类继承所有其他视图控制器。

    使用UIAppearance 协议定义控件的通用外观。见:

    WWDC 2011 - 114 - Customizing the Appearance of UIKit Controls

就个人而言,我会将UIAppearance 与其他两种方法之一结合使用。我倾向于自定义容器控制器,但是您失去了执行简单模态和推送 segue 的能力(我定义了一个自定义 segue 类型,用于在孩子之间进行 segueing),所以我可以理解为什么您可能宁愿使用共享的 UIViewController子类。

【讨论】:

以上是关于UI 模板视图 - iOs 应用程序上所有场景中的通用 UI 元素?的主要内容,如果未能解决你的问题,请参考以下文章

从木偶视图重新加载部分车把将无法访问为父视图中的部分模板元素定义的 ui 对象

在隔离视图上进行 iOS UI 测试

iOS10 UI教程视图的几何形状

如何在 swift 中为 ios 的 google maps sdk 中的地图视图添加标记

在 iOS 中以编程方式生成视图

Angular ui-router - 如何访问从父模板传递的嵌套命名视图中的参数?