代码之家  ›  专栏  ›  技术社区  ›  Heuristic

nslayoutConstraint:在StackView中,根据视图进行布局是否是一个好的实践?

  •  0
  • Heuristic  · 技术社区  · 6 年前

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

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

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  0
  •   Connor Neville    6 年前

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

    我可以选择的一个方法是将每个图像(img1、img2、img3)作为自定义 UIView 子视图,带有某种 isCurrentlySelected 属性以显示箭头。