UIScrollView视图中的设置内容偏移量将显示为不起作用



我想知道是否可以在viewwillrappent方法中为uiscrollview设置contentoffset。

-(void) viewWillAppear:(BOOL)animated{
    [self.scrollView setContentOffset:CGPointMake(320, 0) animated:YES];
    NSLog(@"CALLED");    
}

我可以看到视图将显示为正在运行,但不幸的是,它没有设置偏移。

感谢

您应该在尝试设置偏移量之前调用[super viewWillAppear:animated];

但是,您可能试图在视图生命周期中过早地设置偏移。

覆盖-(void)viewDidLayoutSubviews;并在那里设置偏移量可能是好的。

因为到那时,您的视图的框架都应该被适当地设置。(记得也在那里调用super

我有一个更好的选择:

您可以手动设置布局:,而不是覆盖viewDidLayoutSubviews

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    view.layoutIfNeeded()
    // Do something here
}

通过这种方式,您可以获得一个新的布局,该布局应符合您的期望

我已经用您的scrollView的contentSize&视图中的contentOffset WillAppear。它对我来说运行良好。因此,请检查您的滚动视图对象是否正确绑定到您的滚动视图

相关内容

最新更新