Objective c XCode-在情节提要中堆叠UI元素的错误做法?

Objective c XCode-在情节提要中堆叠UI元素的错误做法?,objective-c,ios,xcode,storyboard,Objective C,Ios,Xcode,Storyboard,我有一个关于使用故事板IB的问题。很多时候,当我在故事板上构建界面时,我会将一些UI元素堆叠在一起。我只是有选择地显示和隐藏它们,以提供一个干净的界面。例如,我会在一些UITEXBOX上放置一个pickerview。这是坏习惯吗?我认为这不是一件坏事,因为如果我以编程方式构建一个接口,我可能也会这样做,只是有时候使用wysiwyg生成器看起来很难看。我刚刚让一个开发人员看了一下我的故事板,当我在一些UIExbox上使用UIPickerView和UiDatePicker时,他基本上是“wtf” 谢

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

谢谢!
艾伦

这取决于你是什么样的人。如果你希望事情保持干净,就按程序进行,如果你想让事情更简单,就把它们叠起来。我只堆积了一些东西,我会在下面给出我的理由

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

当您自己编写元素代码时,您会更加了解约束,并可以创建公式根据屏幕大小进行调整。您很幸运能够使用iOS,因为iOS的设备数量有限。也就是说,如果你突然开始为Android开发,你可能会发现自己陷入困境

还有一件事,如果您要堆叠东西,请确保使用自动引用计数(ARC)。很可能是这样,但如果不是这样,那么在故事板上创建的元素将立即被带到内存中,而不是等到它们从“隐藏”中调用。ARC可以发现,如果您从隐藏的项目开始,您并不真的希望将内容带入内存


不管怎么说,现在一切都取决于你。我个人觉得堆叠一些项目非常实用,但我确实喜欢看看我在做什么。祝你好运。

这取决于你是什么样的人。如果你希望事情保持干净,就按程序进行,如果你想让事情更简单,就把它们叠起来。我只堆积了一些东西,我会在下面给出我的理由

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

当您自己编写元素代码时,您会更加了解约束,并可以创建公式根据屏幕大小进行调整。您很幸运能够使用iOS,因为iOS的设备数量有限。也就是说,如果你突然开始为Android开发,你可能会发现自己陷入困境

还有一件事,如果您要堆叠东西,请确保使用自动引用计数(ARC)。很可能是这样,但如果不是这样,那么在故事板上创建的元素将立即被带到内存中,而不是等到它们从“隐藏”中调用。ARC可以发现,如果您从隐藏的项目开始,您并不真的希望将内容带入内存


不管怎么说,现在一切都取决于你。我个人觉得堆叠一些项目非常实用,但我确实喜欢看看我在做什么。祝你好运。

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

此外,应用通用规则可以使代码/IB更具可读性


在我看来,如果你在做一个中等大小的应用程序,堆叠并不是最好的选择。同时,以编程方式保留它们也不是最好的解决方案。我建议将UI项划分为不同的IBs类,并将它们视为整个应用程序中可重用的组件。通过这样做,你可以让你的内存不那么繁忙,你的故事板也会变得更轻。

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

此外,应用通用规则可以使代码/IB更具可读性


在我看来,如果你在做一个中等大小的应用程序,堆叠并不是最好的选择。同时,以编程方式保留它们也不是最好的解决方案。我建议将UI项划分为不同的IBs类,并将它们视为整个应用程序中可重用的组件。通过这样做,你可以让你的内存不那么繁忙,你的故事板也将变得更轻。

我认为时间已经证明这个答案是“错误的”,因为新设备和ios 8限制非常强大,所以我建议尽可能使用interface builder。然而,堆叠可能不是最好的选择,你应该尽量保持故事板简单并且在可能的时候重用你的界面(例如,你应该总是考虑为专用的XIB中的表和集合设计可重用的单元格)。我认为时间证明了这个答案是“错误的”。新设备和ios 8的限制非常强大,因此我建议尽可能使用interface builder。然而,堆叠可能不是最好的选择,你应该尽量保持故事板简单并且在可能的时候重用你的界面(例如,你应该总是考虑为专用XIB中的表和集合设计可重用的单元格)。