代码之家  ›  专栏  ›  技术社区  ›  R2D2

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

  •  0
  • R2D2  · 技术社区  · 7 年前

    在我的视图中,我从 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 命令到 可视负载 和一个 viewWillAppear 但是它根本不起作用。

    有没有什么方法可以让我的文本从文本的顶部开始,而不是从底部开始,而不需要动画、滚动或跳跃?

    我只想让文本从顶部开始,这样用户就不会在最终的应用程序中看到任何视觉跳转。

    2 回复  |  直到 7 年前
        1
  •  0
  •   alanpaivaa    7 年前

    如果我对你的问题有正确的理解,你就用了 UITextView 要将文本加载到中,是什么使此问题非常奇怪,因为 UITExtVIEW 从最上面开始。如果是这种情况,请确保没有对文本视图执行其他操作。另外,您可能需要查看加载数据所需的时间。

        2
  •  0
  •   R2D2    7 年前

    我现在已经通过将代码移动到以下方法来实现这一点:

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

    这很管用!