NSLayoutConstraint:针对 stackview 中的视图进行布局是否是一种好习惯(或不是)?

NSLayoutConstraint: Is it good practice (or not) to layout against views in stackview?

我有一个图像的水平堆栈视图,在堆栈视图下方我需要显示一个指向当前所选图像的箭头(在堆栈视图中),我想因为堆栈视图和箭头图像视图中的视图有一个共同的祖先视图,我应该能够将箭头固定到堆栈视图中所选图像视图的水平中心。但这是一个好习惯吗?有更好的方法吗?

Stack View: | IMG1 | IMG2 | IMG3 | Arrow Icon: |

谢谢!

这完全没问题 - 只需验证您没有任何冲突的约束。请记住,堆栈视图实际上会为其排列的子视图生成约束,因此如果您做了类似(例如)为 IMG1 设置固定宽度的操作,则可能 运行 出现约束错误。但只要您没有遇到任何模棱两可或冲突的约束,就可以开始了。

我能想到的一个替代方案是将每个图像(IMG1、IMG2、IMG3)改为自定义 UIView 子视图,并使用某种 isCurrentlySelected 属性显示箭头。