我开始创造一个非常简单的井字游戏。
主要目标是使视图与所有iOS设备的所有屏幕大小成比例。
所以我将图像放在ViewController
上,使其成为完整大小的屏幕,然后将其放入堆栈视图中。我已向所有方面添加了对此Stack View 0的约束。
当我运行模拟器时,一切看起来都不错。但我在控制台面板中收到一条消息。这是什么意思?
答案 0 :(得分:113)
答案 1 :(得分:54)
UIStackView
上的任何图层更改都会导致此警告。警告指出UIStackView
是仅变换图层,它与UIView
略有不同。根据文件:
UIStackView是UIView的非渲染子类;就是这样 不提供自己的任何用户界面。相反,它只是管理 其排列的视图的位置和大小。结果,一些 属性(如backgroundColor)对堆栈视图没有影响。 同样,您不能覆盖layerClass,drawRect:或 drawLayer:inContext的:
有关此here的详情。
它可能没有指出OP问题的确切来源,但希望它能说明UIStackView
行为不同的原因,不应与UIView
混淆。
答案 2 :(得分:3)
对于需要帮助的人:我在StackView中将clipToBounds
设置为false。
答案 3 :(得分:2)
看起来你所做的完全正确。
但是,我想知道为什么你选择将你的imageview放入一个stackview,而你可以在没有stackview的情况下轻松地固定两侧。我是stackviews的忠实粉丝,但他们无处不在。除非您计划添加新视图并调整ticktactoe板的大小,否则我可能不会使用它。