我遇到了UIScrollView实施的问题。第一次加载视图时,scrollView工作正常。但是,当我使用导航抽屉移动到另一个视图然后返回到原始视图时,scrollView不再滚动但仍包含内容。
UIScrollView,它包含在运行时以实际方式创建的UITextFields和UIButtons。视图在viewDidLoad()
函数中创建,然后添加到父视图中,然后将其添加到scrollView。由于滚动内容的大小在运行时会有所不同,因此会在viewDidLayoutSubviews()
函数中以编程方式设置:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.scrollView.contentSize = CGSizeMake(self.accountCardView.frame.width, self.cardHeight.constant + 15)
}
在此代码示例中,cardHeight变量是一个约束,包含scrollview中主视图的高度。这是包含textFields和按钮的视图。
我在viewDidLayoutSubviews()函数中放置了一个调试点来观察cardHeight变量。每次加载页面时,cardHeight都是一致的,并且应该正确设置scrollView内容大小。
我还尝试重新绘制viewWillAppear()
函数中的视图,但观察到相同的结果。
有没有人知道为什么在重新加载页面时滚动视图不起作用?