让滚动视图中的文本从顶部开始,而不是从底部开始 (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];
其中'jumps'文本从下到上。
并且我尝试将 setContentOffset
命令移动到 viewDidLoad
和 viewWillAppear
部分,但它根本不起作用。
有什么方法可以让我的文本从文本的顶部开始,而不是从底部开始,而不需要动画、滚动或跳跃?
我只希望文本从顶部开始,并且不会出现用户在最终应用中可以看到的视觉跳跃。
如果我对你的问题有正确的理解,你正在使用 UITextView
来加载你的文本,是什么让这个问题变得很奇怪,因为 UITextView
的默认行为是从顶部开始。如果是这种情况,请确保没有对文本视图执行其他操作。另外,您可能想看看加载数据需要多长时间。
我现在通过将我的代码移动到以下方法来设法让它工作:
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.descriptionTextV setContentOffset:CGPointZero animated:NO];
}
效果很好!
在我看来,我在代码的 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];
其中'jumps'文本从下到上。
并且我尝试将 setContentOffset
命令移动到 viewDidLoad
和 viewWillAppear
部分,但它根本不起作用。
有什么方法可以让我的文本从文本的顶部开始,而不是从底部开始,而不需要动画、滚动或跳跃?
我只希望文本从顶部开始,并且不会出现用户在最终应用中可以看到的视觉跳跃。
如果我对你的问题有正确的理解,你正在使用 UITextView
来加载你的文本,是什么让这个问题变得很奇怪,因为 UITextView
的默认行为是从顶部开始。如果是这种情况,请确保没有对文本视图执行其他操作。另外,您可能想看看加载数据需要多长时间。
我现在通过将我的代码移动到以下方法来设法让它工作:
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.descriptionTextV setContentOffset:CGPointZero animated:NO];
}
效果很好!