【发布时间】:2019-10-20 07:29:23
【问题描述】:
我正在开发一个 iOS 项目,该项目使用自动布局来设置带有滚动视图和堆栈作为滚动视图内容的视图。
一切正常,我可以添加 UIViews 直到奶牛回到堆栈并完成预期的操作。
然而,当我要为报告视图实现用户可定义的布局时,问题就出现了。
堆栈包含一个专用于用户定义布局的视图。
用户将定义数据输出(例如“好处”)和原点(左上角),并且该视图将被放置在那里。他们可以以这种方式放置尽可能多或尽可能少的视图和数据片段。他们将不了解自动布局,因此将仅依赖这些视图通过左上角及其大小的精确定位。
在开始项目的这个阶段之前我应该注意什么?我关心的是全局布局中自动布局的混合/匹配以及在这个特定视图中的精确定位。
寻找有关注意事项、我必须包含的代码(例如应设置的任何标志)等的输入。
感谢您的任何帮助, D
【问题讨论】:
-
如果设备方向改变了怎么办?用户定义的视图会不会看起来很奇怪?
-
在许多情况下(但绝对不是全部),您可以通过设置
someView.autoresizingMask = [.flexibleHeight, .flexibleWidth]来摆脱困境。 -
@Sweeper ...该应用程序此时具有固定的方向...与团队的讨论在纵向/横向的单独设计以及定位的自动计算意图之间来回讨论。然而,就目前而言……绝对是一个方向。
-
@Yonat - 所以总的来说,我想通过精确放置(原点和大小 - 因此框架)设置的视图我会设置它们的 autoresizingMask 你已经描述了吗?
-
是的。并保持
translatesAutoresizingMaskIntoConstraints为真。
标签: swift autolayout