gpt4 book ai didi

ios - 应该停止从 xibs 加载 UIView 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:51 25 4
gpt4 key购买 nike

自从iOS 5.0引入了childViewControllers的概念,似乎无所不能,我习惯了从xib文件加载的UIView。

我通常会使用 UIView 并让它包含 xib 文件中的所有其他内容的场景。如果有任何 Delegate 和 DataSources 需要实现,UIView 用于加载。

使用这样的东西:

 NSArray* nibsArray = [[NSBundle mainBundle] loadNibNamed:@"ABCustomLoginView" owner:self options:nil];
if(nibsArray && [nibsArray count] > 0) {
self = [[nibsArray objectAtIndex:0] retain];
}

这似乎从来都不正确,它曾经破坏了 MVC。为什么 UIView 会处理另一个 UIView 的事件?

既然 childViewController 已经存在,我是否应该始终制作一个大小适中的 UI 片段,它具有自己的功能并且以后可以在单独的 UIViewController 中重新使用?

还是有一些情况,前面的方法还是有优势的?

最佳答案

您应该只在构建自定义容器 View Controller 时使用 subview Controller ,否则您的布局非常复杂。

现在谈谈我的看法:我一直使用 Storyboard,因为它们允许您在设计时表达整个屏幕,而无需在运行时组装它(如上面的代码)。

因此,即使您选择为每个单独的 View Controller 使用 Storyboard(一些大型团队这样做是为了避免合并问题),您也可以将所有 View 和 View Controller 布局并连接在一起。

如果您希望在运行时创建某个 View 的动态数字,我可能只对 View 进行编码,或者如果它非常复杂,我会将 NSNib 存储在 ivar 中并从中实例化每个 View 。

底线: subview Controller 绝不会取代或什至与您的代码示例相关。

关于ios - 应该停止从 xibs 加载 UIView 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com