在仅变换层中更改 属性 contentsGravity,将无效
changing property contentsGravity in transform-only layer, will have no effect
我开始创建一个非常简单的井字游戏。
主要目标是使视图与所有 iOS 设备的所有屏幕尺寸成比例。
所以我将图像放在 ViewController
上,使其全屏显示,然后将其放入 Stack View 中。我已将此 Stack View 0 的约束添加到所有方面。
当我 运行 模拟器时,一切看起来都很好。但是我在控制台面板中收到一条消息。这是什么意思?
看来你做的完全正确。
但是,我想知道为什么您选择将图像视图放入堆栈视图中,而您可以在没有堆栈视图的情况下轻松固定侧面。我是堆栈视图的忠实粉丝,但它们在任何地方都没有意义。除非您打算添加新视图并调整您的 ticktactoe 板的大小,否则我可能不会使用它。
这可能是因为您更改了 StackView 的模式属性:
当我将模式设置为 Aspect Fit 时收到此警告。
UIStackView
上的任何层更改都将导致此警告。正如警告指出的那样,UIStackView
是一个 仅变换层 ,它与 UIView
略有不同。根据文档:
The UIStackView is a nonrendering subclass of UIView; that is, it does
not provide any user interface of its own. Instead, it just manages
the position and size of its arranged views. As a result, some
properties (like backgroundColor) have no effect on the stack view.
Similarly, you cannot override layerClass, drawRect:, or
drawLayer:inContext:.
关于此的更多信息 here。
它可能不会指出 OP 问题的确切来源,但希望它能阐明为什么 UIStackView
行为不一样并且不应与 UIView
混淆。
对于需要的人:我在 StackView 中将 clipToBounds
设置为 false。
我开始创建一个非常简单的井字游戏。
主要目标是使视图与所有 iOS 设备的所有屏幕尺寸成比例。
所以我将图像放在 ViewController
上,使其全屏显示,然后将其放入 Stack View 中。我已将此 Stack View 0 的约束添加到所有方面。
当我 运行 模拟器时,一切看起来都很好。但是我在控制台面板中收到一条消息。这是什么意思?
看来你做的完全正确。
但是,我想知道为什么您选择将图像视图放入堆栈视图中,而您可以在没有堆栈视图的情况下轻松固定侧面。我是堆栈视图的忠实粉丝,但它们在任何地方都没有意义。除非您打算添加新视图并调整您的 ticktactoe 板的大小,否则我可能不会使用它。
这可能是因为您更改了 StackView 的模式属性:
当我将模式设置为 Aspect Fit 时收到此警告。
UIStackView
上的任何层更改都将导致此警告。正如警告指出的那样,UIStackView
是一个 仅变换层 ,它与 UIView
略有不同。根据文档:
The UIStackView is a nonrendering subclass of UIView; that is, it does not provide any user interface of its own. Instead, it just manages the position and size of its arranged views. As a result, some properties (like backgroundColor) have no effect on the stack view. Similarly, you cannot override layerClass, drawRect:, or drawLayer:inContext:.
关于此的更多信息 here。
它可能不会指出 OP 问题的确切来源,但希望它能阐明为什么 UIStackView
行为不一样并且不应与 UIView
混淆。
对于需要的人:我在 StackView 中将 clipToBounds
设置为 false。