在情节提要中使用 iOS 静态库公共视图控制器?

Posted

技术标签:

【中文标题】在情节提要中使用 iOS 静态库公共视图控制器?【英文标题】:using iOS static library common view controller in storyboard? 【发布时间】:2012-06-22 19:17:01 【问题描述】:

我们正在创建一组可在我们拥有的多个应用程序中重复使用的通用组件和通用视图。在这些库中,我们有 .xib 文件和视图控制器。我们希望能够在情节提要中为特定应用程序使用这些。这甚至可能吗?

我还没有看到一种简单的方法来共享故事板中静态库中的可重用视图或组件。

为了避免在每个项目中重复代码,推荐的方法是什么?

谢谢..

【问题讨论】:

【参考方案1】:

通常在制作用于共享的静态库时,您还可以包含资源包(例如 xib 和图像文件)。以 FacebookSDK 为例。它包含一个包含图像和字符串的包。这些可以由 SDK 代码或 SDK 的客户端应用程序加载。

有关使用资源制作静态库的帮助,请参阅:https://github.com/jverkoey/ios-Framework(感谢@jnjosh)或https://github.com/kstenerud/iOS-Universal-Framework。我最近在一个运输应用程序上使用了 iOS-Universal-Framework。效果很好。

为了在情节提要中使用 xib 文件,您可以采用以下两种方法之一:

在情节提要中 VC 调用的动作或 segue 中加载 xib 视图控制器。

或者使用情节提要中的 xib。见:Using XCode storyboard to instantiate view controller that uses XIB for its design

另外,如果它只是供内部使用,我建议简单地制作一个代码+资源的共享存储库,而不是制作一个静态库。静态库的主要好处是易于在您的团队之外分发。

【讨论】:

以上是关于在情节提要中使用 iOS 静态库公共视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式从情节提要中填充静态 UITableView?

iOS 在使用情节提要推送视图控制器时传递数据

Xcode 8 - 如何在情节提要中完全实现 UIPageViewController?

iOS - 推送到不在情节提要中的视图控制器

使用 ios5 和情节提要推送带有参数的视图控制器

使用情节提要(iOS)时如何将 NSManagedObjectContext 传递给视图控制器