• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - iOS框架或依赖项目中的UIViewController XIB

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:53:07 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我知道这类问题以前曾被讨论过,但我还没有找到一个明确的答案来解决我目前面临的问题。这就是在一个库中,如何最好地提供一个具有复杂 View 的 UIViewController 子类

我能看到的方法有:

  1. 同时发布 XIB 并要求您的代码的用户将其添加到他们的项目中。我认为这是不可取的,因为它使维护成为一场噩梦。如果将 View Controller 添加到库项目中,则必须将新的 XIB 添加到每个使用该库的项目中。

  2. loadView/viewDidLoad 中创建您的 View ,并在其中手动完成所有操作。尽管对于复杂的 View 层次结构,这可能非常复杂。

  3. 以某种方式在编译时从您的 XIB 生成您的 loadView 代码。不过,要获得可以正确执行此操作的东西听起来很复杂。

我不太明白 Apple 是如何做到的。以 MessageUI 框架为例,有 MFMailComposeViewController 这是一个相当复杂的 View ,但它没有 XIB(或者至少我不知道 - 也许实际上有是?)。我很想知道 Apple 是如何做到的——有人知道吗?



Best Answer-推荐答案


他们从头开始手动编写所有代码,在我看来,这是最好的选择。有时 InterfaceBuilder 可以通过应用未知/错误记录的设置等来真正劫持您的项目,而且代码的可移植性较差。例如,具有非官方 Linux 工具链的人可能无法在没有 Interface Builder 的情况下使用该库。代码必须由开发人员编写,能够使用适当但极简的工具链(编译器+汇编器+链接器)进行编译,而不依赖于任何不严格属于自己的编程部分的 IDE、SDK 或其他技术项目。

关于ios - iOS框架或依赖项目中的UIViewController XIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764336/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap