0

我有一个关于使用 Storyboard IB 的问题。很多时候,当我在情节提要上构建界面时,我会将一些 UI 元素堆叠在一起。我只是有选择地显示和隐藏它们以提供一个干净的界面。例如,我会在一些 uitexboxes 上放置一个pickerview。这是不好的做法吗?我认为这不是一件坏事,因为如果我以编程方式构建界面,我可能会做同样的事情,有时使用所见即所得的构建器看起来很难看。我刚刚让开发人员看了我的故事板,当我在一些 UITexboxes 上使用 UIPickerView 和 UiDatePicker 时,他基本上是“wtf”。

谢谢!艾伦

4

2 回答 2

2

每个人都有自己的编程风格。我认为这没有绝对正确的方法,但坚持这些指导方针肯定会让你的生活更轻松。

还应用通用规则使您的代码/IB 更具可读性。

IMO,如果您正在做一个平均大小的应用程序,堆叠不是最好的事情。同样以编程方式保留它们也不是最好的解决方案。我建议将 UI 项分隔在不同的类 IB 中,并将它们视为跨应用程序的可重用组件。通过这样做,你可以让你的记忆不那么忙碌,你的故事板也会变得更轻松。

于 2015-03-17T11:54:04.047 回答
1

这真的取决于你是什么类型的人。如果您希望事情保持清洁,请以编程方式进行,如果您希望事情更容易,只需将它们堆叠起来。我只堆叠了一些东西,我将在下面给出我的理由。

有一个缺点。如果您正在创建所有元素并简单地将它们堆叠起来,那么您将在很大程度上依赖于可可约束。现在,起初一切似乎都可以正常工作,但如果 Apple 推出另一款具有不同分辨率的设备会怎样。事情现在可能看起来一团糟。

当您自己对元素进行编码时,您会更加了解约束并可以创建公式来根据屏幕大小对其进行调整。你有幸使用 iOS,设备数量有限。也就是说,如果你突然开始为 Android 开发,你可能会发现自己卡住了。

另一件事,如果你做堆栈,一定要使用自动引用计数(ARC)。很可能你是,但如果你不是,那么在情节提要上创建元素将立即被带入内存,而不是等到它们被称为“隐藏”。如果您从隐藏项目开始,ARC 可以确定您并不真的希望将事物带入内存。

无论如何,目前这真的取决于你。我个人觉得堆叠一些物品非常实用,但我确实喜欢看看我在做什么。祝你好运。

于 2012-10-31T20:40:04.023 回答