【问题标题】:ContentScaleFactor on UIKit elements broken?UIKit 元素上的 ContentScaleFactor 坏了?
【发布时间】:2023-04-05 08:15:01
【问题描述】:

我试图确保我的 UILabel 和 UITextView 在它们存在于 UIScrollView 中时保持清晰。我来到了 UIView 类的 'contentScaleFactor' 属性,它似乎在自定义绘图上工作得很好,但 UITextView 和标签只是拒绝以正确的内容比例重绘自己。

http://pastebin.com/PBjhjMbR

也许这是因为绘制文本的实际视图是这些类的子视图?

【问题讨论】:

    标签: iphone uiview scrollview blurry


    【解决方案1】:

    您需要在所有子视图上递归设置 contentScaleFactor,并在您设置它的每个视图上调用 setNeedsDisplay 以使它们以更高质量显示。我还发现在 UIImageView 上设置它是不值得的,因为它们无论如何都不会以更高的质量呈现,所以通过增大它们的支持层来浪费内存是没有意义的。

    【讨论】:

    • 这不是苹果允许的方式,而且在文本视图中的某处找到实际的文本层并不容易。我在 WWDC 上问过,他们告诉我提交错误报告,他们也不知道。
    • 抱歉回复晚了,但我上面给出的方法正是苹果工程师在 WWDC 上告诉我的。我使用它的应用程序已经在应用程序商店中,所以苹果确实允许它(他们为什么不呢?它是一个公共 API)。我遇到的唯一问题是它不适用于文本在编辑字段时(即,当键盘打开时)。出于某种原因,在这种情况下,某些东西正在将相关视图的 contentScaleFactor 设置回默认值,我无法弄清楚如何将其设置得足够晚以使其正常工作。
    • 这就是我的问题的重点,但是,在未编辑的状态下,我只是用正确的内容比例展示我自己的观点。编辑状态是个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多