更新 - 我现在认为这是因为我过早地调用[view.details scrollRangeToVisible:NSMakeRange(0, 1)];
- 意味着在应用约束并重新计算布局之前。
通过在显示视图后调用scrollRangeToVisible
并在之后调用我在单元格上执行了一些操作,我想到了这一点。 (这样可以保证在拨打电话之前所有布局更改都已完成。)
因此,我现在需要知道的是我应该在哪里进行此调用?以便在布局之后发生?
原帖 我尝试了很多解决方案,但似乎都没有。
我有UITextView
作为UIView
的子视图 - 文本视图的容器以及其他一些项目。当用户点击tableView中的单元格时,我会弹出UIView
容器以显示更多详细信息 - 全文。
配置视图,我将textView.text
值设置为我的长字符串,我更新字体,设置颜色,然后显示容器视图。不幸的是,它显示的是文本视图底部而不是顶部的文本。
我尝试了以下解决方案,但无济于事 - 每个解决方案都会产生与上述相同的行为:它仍会在textview底部显示文本。
尝试1:scrollRangeToVisible
[self.textView scrollRangeToVisible:NSMakeRange(0,1)];
尝试2:contentOffset(尝试了以下各项,但都没有工作)
[self.textView setContentOffset:
CGPointMake(0, -self.textView.contentInset.top) animated:YES];
[self.textView setContentOffset:CGPointMake(self.textView.contentOffset.x, 0)
animated:YES];
[self.textView setContentOffset:CGPointMake(0, self.textView.contentSize.height-textView.frame.size.height) animated:YES];
我和那些最后的物品一起钓鱼了吗?是。我已经没想完了。我检查了contentOffset.y
和contentInset.y
的值 - 两者都是零。
我在名为UITextView
的{{1}}子类中创建了UIView
。这是过程:
PrayerPopupView
中,用户触摸一个单元格。基于此行动...... UIViewController
的实例
PrayerPopupView
UITextView
值。textView.text
,但我也通过直接添加UIWindow
作为视图控制器的子视图而不是使用KLCPopup进行测试,以防万一这很重要。两者都产生相同的文本结果,不能正确滚动到顶部。PrayerPopupView
(UIViewController
)之前,我还在PrayerPopupView
中添加了它,但结果仍然相同。