【问题标题】:swift UITextView setContentOffset works on didappear and not on willappearswift UITextView setContentOffset 适用于 didappear 而不是 willappear
【发布时间】:2015-05-02 14:27:17
【问题描述】:

我正在尝试在视图加载之前自动滚动顶部的文本视图,这样您就看不到它实际上向上移动...

我正在尝试这样做

var zeroOffset = CGPoint.zeroPoint
    textSpace.setContentOffset(zeroOffset, animated: false)

textSpace 是我的 UITextView。

当我将此代码放在 viewDidAppear 中时,它可以工作,但问题是很明显你可以看到一秒钟的文本滚动,当我将它放在 viewWillAppear 中时它根本不起作用(viewDidLoad 都不是帮助)。 我想这与在计算实际点之前需要视图存在的 CGPoint 有关,但我不确定,是否有解决方案?谢谢

【问题讨论】:

  • 把它放在viewDidLayoutSubviews怎么样?
  • 有效!非常感谢

标签: swift uitextview viewwillappear viewdidappear


【解决方案1】:

在viewController生命周期中,viewWillAppearviewDidAppear之间有一个调用viewDidLayoutSubviews。它在子视图布局后调用。到那时,您将拥有调用工作所需的一切,但它仍然会在视图出现之前。所以覆盖viewWillLayoutSubviews 并在那里拨打电话。

【讨论】:

  • 太棒了。谢谢,这非常适合在滚动视图出现之前设置它们:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
  • 2014-12-24
相关资源
最近更新 更多