tzjut

导航

UIScrollView在AutoLayout下的滚动问题

使用Storyboard编写UI,设置支持AutoLayout.

在其中的一个场景上,添加一个UIScrollView,在对应的代码里增加

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.contentSize = CGSizeMake(445, 60);
}

调试,发现内容能显示,但是无法滚动。

经过网上搜索,发现是AutoLayout导致的问题。在支持AutoLayout后,系统会在ViewDidLoad之后,重新计算控件的一些值,导致上面设置的contentSize被重置为(0,0)了。

解决方案很简单:把上面的设置代码放到viewDidAppear上即可。

-(void) viewDidAppear:(BOOL)animated
{
    self.scrollView.contentSize = CGSizeMake(445, 60);
    [super viewDidAppear:animated];
}

 

posted on 2013-06-21 11:30  tzjut  阅读(2098)  评论(1)    收藏  举报