我一直在使用旧的做事方式,通过在各个帧上设置原点和大小,并在屏幕上准确显示我想要的内容。现在我正在尝试使用AutoLayout。但我有点麻烦,我似乎无法找到一个确切的答案。
我习惯主要使用代码创建视图和查看控制器。因此,我熟悉创建自定义视图类,它结合了我喜欢的多个视图。例如,我有一个自定义的Profile Pin视图,它将UIImageView和UILabel组合成一个视图来表示profileImage和username。然后,我将这些自定义视图用作其他视图和视图控制器的一部分。
在我看来,自动布局适用于需要在屏幕方向更改时重新调整大小调整的视图,或者用于重新调整不同屏幕大小的子视图。
我的问题是,我是否应该一丝不苟,并使用autolayout进行具有静态展示位置和尺寸的自定义视图?就像我描述的Profile Pin视图中的UIImageVIew和UILabel视图一样? UIImageView和UILabel视图的位置不会改变,但Profile Pin视图(它们的父级)的位置可能会改变。我应该将Autolayout用于一切吗?或者这不是AutoLayout的用途吗?
答案 0 :(得分:1)
如果您的自定义视图包含静态内容,其中子视图的大小和位置永远不会更改,则可以随意在内部使用手动框架。在这种情况下,Autolayout并没有太大的好处。
这允许任何父视图使用Autolayout来定位和了解自定义视图的大小。
许多UIKit组件都使用这种技术 - intrinsicContentSize
是一个很好的例子。