繁体   English   中英

在scrollview中使文本从顶部开始,而不是从底部开始(Objective-C)

[英]Getting text in scrollview to start at the top, not the bottom (Objective-C)

在我看来,我从代码的viewDidLoad部分中的数据库中加载了一些文本内容。

这可以正常工作,看起来不错,但是在运行应用程序时,滚动视图位于文本的最底部。

我在下面添加了以下代码:

-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear: animated];
[self.descriptionTextV setContentOffset:CGPointZero animated:YES];
}

现在,这会将滚动视图移动到文本的顶部,这正是我想要的,但是这需要花费几秒钟的时间,而且分散了注意力。

我努力了

[self.descriptionTextV setContentOffset:CGPointZero animated:YES];

通过动画滚动文本将文本移动几秒钟。

[self.descriptionTextV setContentOffset:CGPointZero animated:NO];

从底部到顶部“跳转”文本。

而且我尝试将setContentOffset命令移到viewDidLoadviewWillAppear部分,但是然后根本不起作用。

有没有办法让我的文本在没有动画,滚动或跳跃的情况下从文本的顶部(而不是底部)开始?

我只希望文本从顶部开始,并且没有在最终应用程序中用户可以看到的视觉跳跃。

如果我对您的问题有正确的了解,那么您正在使用UITextView将文本加载到其中,这真使这个问题很奇怪,因为UITextView的默认行为是从顶部开始。 在这种情况下,请确保没有在文本视图上执行其他任何操作。 另外,您可能需要查看加载数据需要花费多长时间。

现在,我通过将代码移至以下方法来设法解决此问题:

-(void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    [self.descriptionTextV setContentOffset:CGPointZero animated:NO];
}

这很棒!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM