【问题标题】:UIScrollView/UITextView scroll indicator insets issue with zero valueUIScrollView/UITextView 滚动指示器插入零值问题
【发布时间】:2023-02-20 03:07:23
【问题描述】:

我们在配置 UIScrollView.scrollIndicatorInsets 属性时遇到奇怪的行为。

具体来说,当我们将 UITextView.scrollIndicatorInsets 设置为 UIEdgeInsetsMake(0, 0, 0, 0) 时,结果是下面的第一个屏幕(滚动指示器的最顶端边缘远低于视图内容插图的顶部)。当设置为 UIEdgeInsetsMake(-0.01, 0, 0, 0) 时,结果是下面的第二个屏幕(如果应用零值,滚动指示器的最顶端基本上就在我们期望的位置)。

这个错误的原因是什么?我们已经验证它没有连接到视图的超级视图的.contentInset属性。

第一张图片,带有有缺陷的滚动指示器插图。

第二张图片,带有预期的滚动指示器插图。

【问题讨论】:

  • 你确定吗?这是我通过快速测试得到的结果:i.stack.imgur.com/AV6HU.png --- 绿色使用默认值,黄色使用UIEdgeInsetsMake(0, 0, 0, 0),青色使用UIEdgeInsetsMake(-0.01, 0, 0, 0)
  • @DonMag 完全确定。 UINavigationBar 的存在可能会产生影响吗?还有什么会引入奇怪的行为?
  • 我想它可能与UINavigationBar有关......你能把minimal reproducible example放在一起吗?

标签: ios swift objective-c uiscrollview uitextview


【解决方案1】:

您必须将滚动视图 contentInsetAdjustmentBehavior 属性值设置为 .never 并将 automaticallyAdjustsScrollIndicatorInsets 属性值设置为 false。如果您没有设置这些属性,滚动指示器的插入将由系统自动调整。

【讨论】:

    猜你喜欢
    • 2011-03-19
    • 2012-06-13
    • 2011-01-02
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多