【问题标题】:After resizing view inside UIScrollView, the scroll view does not know it changed在 UIScrollView 中调整视图大小后,滚动视图不知道它改变了
【发布时间】:2011-08-29 15:40:15
【问题描述】:

我调整了放入 UIScrollView 的视图大小,但滚动视图不知道大小发生了变化。

所以,我尝试删除视图并将其重新添加到 UIScrollView,但这没有帮助。

如何让 UIScrollView 相信它的内容已经改变了大小?

谢谢。

【问题讨论】:

  • 您尝试重置@property(nonatomic) CGSize contentSize 吗?

标签: ios ipad uiscrollview


【解决方案1】:

您是否记得将 UIScrollView 的内容大小(使用 [scrollview setContentSize:])设置为新大小?滚动视图无法自行计算,您必须告诉它其内容的大小。

【讨论】:

  • 事实上,我确实忘记了这一点,当我这样做时,它解决了问题。谢谢。
【解决方案2】:

如果滚动视图是另一个视图的子视图并且您调整了该视图(滚动视图的父视图)的大小,除非您设置了父视图的autoresizesSubviews 属性,否则滚动视图实际上不会调整大小。您还必须设置滚动视图的autoresizingMask

如果你更喜欢手动布局子视图(仍然假设滚动视图是某些父视图的子视图),你可以在父视图中实现layoutSubviews 来改变子视图的大小/位置,当父视图更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2015-02-17
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多