【问题标题】:changing property contentsGravity in transform-only layer, will have no effect在仅变换层中更改属性 contentsGravity 将无效
【发布时间】:2016-01-16 02:33:00
【问题描述】:

我开始创建一个非常简单的井字游戏。 主要目标是使视图与所有 iOS 设备的所有屏幕尺寸成比例。 所以我把图像放在ViewController 上,让它全屏显示,然后我把它放到堆栈视图中。我已经向这个 Stack View 0 添加了所有方面的约束。 当我运行模拟器时,一切看起来都很好。但我在控制台面板中收到一条消息。什么意思?

【问题讨论】:

  • 请出示您的代码 :)
  • 还没有代码。这是一个空白项目,主要故事板上有元素。查看第一条消息的屏幕截图
  • 这是自使用 Xcode 7+ 以来出现的。我相信其他人认为这是苹果所做的事情的“错误”,而你没有做任何事情,但我无法证实这一点。我已经提交了应用程序,一切似乎都很好。

标签: ios xcode ios9 xcode7 uistackview


【解决方案1】:

这可能是因为您更改了 StackView 的 Mode 属性:

当我将 Mode 设置为 Aspect Fit 时收到此警告。

【讨论】:

  • 我将模式设置回 Scale To Fill 并且警告消失了。谢谢。
  • 你是怎么发现的?警告没有显示任何导致问题的迹象。但是在遇到此问题后,您的方法解决了问题。我仍然很想知道你解决这个问题的方法。
  • 我认为简单的回答更好地解释了问题的原因
  • 暴力破解?意外?他是斯塔克先生:D
  • 这还是2019年的事情(Xcode 10.2.1)... sigh
【解决方案2】:

UIStackView 上的任何层更改都将导致此警告。正如警告指出的那样,UIStackView 是一个仅转换层,它与UIView 略有不同。根据文档:

UIStackView 是 UIView 的非渲染子类;也就是说,它确实 不提供任何自己的用户界面。相反,它只是管理 其排列视图的位置和大小。结果,一些 属性(如 backgroundColor)对堆栈视图没有影响。 同样,您不能覆盖 layerClass、drawRect: 或 drawLayer:inContext:.

更多关于here

它可能没有指出 OP 问题的确切来源,但希望它能阐明为什么 UIStackView 的行为不一样,不应与 UIView 混淆。

【讨论】:

  • 我认为这是迄今为止最准确的答案
  • 谢谢@allemattio
  • 非常感谢。我一直在努力弄清楚为什么 UIView SUBCLASS 不能对 drawRect 覆盖和图层操作做出正确反应......我认为 Apple 应该在文档中更多地强调堆栈视图的这一点。
  • 很高兴我能帮助@jaga,同意你的强调,与UIStackViews 合作时无法理解。
  • @victor.vasilica 假设我正在创建一个主题类来在应用程序中全局更改颜色,我希望我的所有UIViews 都具有指定的背景颜色,我应该这样做吗viewDidAppear 中的个人 VC 而不是尝试使用 UIAppearance?
【解决方案3】:

对于需要的人:我在 StackView 中将 clipToBounds 设置为 false。

【讨论】:

    【解决方案4】:

    看起来你所做的完全正确。

    但是,我想知道为什么您选择将 imageview 放入 stackview 中,而您可以在没有 stackview 的情况下轻松固定侧面。我是 stackviews 的忠实粉丝,但它们在任何地方都没有意义。除非您打算添加新视图并调整您的 ticktactoe 板的大小,否则我可能不会使用它。

    【讨论】:

    • 嗯,我可以看到,有时在堆栈视图中有一些东西会很好,这样您就可以根据需要更改方向,而不必担心约束和/或有两个不同的类来处理两个不同的方向
    • 我有时会质疑自己使用 StackView 来固定视图。我发现 StackView 是更好的选择,原因如下:#1 添加或删除元素不会破坏任何东西,#2 客户(或设计师)不断改变事物,同事(或未来的我)不必担心 #1 # 2 发生
    猜你喜欢
    • 2016-01-28
    • 2015-12-22
    • 2015-12-04
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多