不是你没弄对,而是 iOS 的布局系统以及它的命令式 UI 开发体验跟 Android 比简直就是一坨屎,更别提和 Web 比了。
iOS 的 Auto Layout 基本上等同于 Android 中的 ConstraintLayout,都是基于约束的布局系统。最大的不同点在于 iOS 中控件的尺寸基本上除了 UILabel / UITextView (相当于 Android 中的 TextView )、UIButton (相当于 Android 中的 *Button )、UIImageView (相当于 Android 中的 ImageView )之类有内容的控件还有一些系统固定尺寸的控件(如 UISegmentedControl 、UISearchBar 等)外,都是没有默认尺寸的。它们的尺寸是基于约束计算出来的。
如果你在 Android 中用过 Google 的 FlexboxLayout,在 iOS 上推荐你用
https://github.com/layoutBox/FlexLayout 这个库。 它是基于 Facebook 开源的 Flexbox 布局引擎 Yoga 实现的,非常好用。百分百找回 Android 上的感觉。iOS 中有个叫 UIStackView 的控件实现了一些类似于 Flexbox 的控件组织方式,但是和真正的 Flexbox 还是差的太远了。
但是说到底,iOS 最好还是要用 Auto Layout 来布局,因为这个才是最 Native 的布局方式。你用其他的布局方式之前,至少要搞投 Auto Layout 。
你有兴趣的话可以加我的 tg 我给你解答,移动端是我的老本行,搞了十来年了,大家互相学习。