没有 Storyboard的 iOS 应用程序(大小类别和设备类型限制)

标签 ios design-patterns uikit

假设我不想在我的应用程序中使用 UIStoryboard。 Apple 大力宣传 UIStoryboards,并且还宣传 UIStoryboards 能够让您轻松创建通用应用程序。

虽然我不想这样做。因此,在没有列出一长串原因的情况下,我的第一个问题是:

删除 Storyboard是否明智/可以接受?

其次。假设我想检查设备类型之类的内容来决定显示什么 UI? I can find plenty of UIDevice extensions这允许有一个限制。如果您在模拟器上使用这些 UIDevice 扩展,您将无法知道模拟器正在模拟什么。因此,在模拟器上测试您的应用不再是一种选择。

最后,假设我使用 Apple 提供的 Size Class API 来尝试在没有 UIStoryboard 的情况下做出 UI 代码决策。有什么方法可以获取这些尺寸类预 View 加载的引用吗?这些类似乎只在 UIView 上,在应用启动时做出窗口级别决策时不可用。

最佳答案

Is it smart/acceptable to remove story boards?

当然。使用代码或界面构建器构建 UI 实际上取决于您、团队或公司。如果这只是你的问题,那么这个线程将被关闭,因为它是基于意见的。在你的第二个问题中,我不认为这是一个问题。

关于你的最后一个问题,虽然我不完全理解它,但我正在尝试回答这个问题。也许这会有所帮助:https://developer.apple.com/documentation/uikit/uitraitcollection

autolayout 应该是解决这个问题的答案。

关于没有 Storyboard的 iOS 应用程序(大小类别和设备类型限制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840580/

相关文章:

ios - Swift UI 生命周期 : how to replace the current view with a new one ? 不只是简单地推送它

c# - DI 设计模式的值对象是否有效依赖?

Java:抛出异常而不是特定异常的原因是什么?

ruby - 如何在 Ruby 中实现查找类?

objective-c - 添加了 IBOutlet 和自定义 TableViewCell 不再起作用

ios - 如何移动 MKMapView 的中心,以便默认位置图标转到底部中心

ios - iPhone模拟器磁航向?

ios - 在设备方向改变时交叉淡入淡出某些 UIView

iphone - 警报密码字段,将密码存储到钥匙串(keychain)中并根据原始登录 View Controller 进行检查

ios - 转换矩形 : toView: returns double size and twice the distance from the origin