我有ViewController和UIScrollView,一些UIImages和UIButtons。 在Storyboard中,我将UIScrollView的大小设置为:width:320,height:570
我想在加载ViewController时更改我的UIScrollView的内容。
我在viewDidLoad中添加了一边:
scrlMain.contentSize = CGSize(width: 320,height: 790)
我还在viewDidLayoutSubviews中添加了代码:
self.scrlMain.translatesAutoresizingMaskIntoConstraints = true
但是我的UIScrollView仍然是最后一个尺寸= 570。 我无法使用viewDidAppear,因为当我按下按钮时,需要它来改变颜色。当它改变了颜色时,我的UIScrollView就会向上移动。
我做错了什么?
所有代码:
override func viewDidLoad() {
super.viewDidLoad()
scrlMain.delegate = self
scrlMain.contentSize = CGSizeMake(320, 790)
}
override func viewDidLayoutSubviews() {
self.scrlMain.translatesAutoresizingMaskIntoConstraints = true
self.scrlMain.contentSize = CGSize(width: self.scrlMain.frame.width, height: 60.0 + 5 * (self.scrlMain.frame.width / 16.0 * 5.0));
}
答案 0 :(得分:5)
此功能出错:
override func viewDidLayoutSubviews() {
self.scrlMain.translatesAutoresizingMaskIntoConstraints = true
self.scrlMain.contentSize = CGSize(width: self.scrlMain.frame.width, height: 60.0 + 5 * (self.scrlMain.frame.width / 16.0 * 5.0));
}
我删除了这段代码:
self.scrlMain.contentSize = CGSize(width: self.scrlMain.frame.width, height: 60.0 + 5 * (self.scrlMain.frame.width / 16.0 * 5.0));
一切都是对的
答案 1 :(得分:1)
嘿@Dim你可以试试这个 -
yourScrollView.contentSize = CGSizeMake(320, 568)
您可以将尺寸568更改为您想要的任何颜色。
答案 2 :(得分:0)
试试这个:
yourScrollView.userInteractionEnabled = YES
请您保持屏幕尺寸与滚动视图内容大小之间的差异...以便正确显示
假设yourScrollViewSize greatertThan yourScreenSize
答案 3 :(得分:0)
override func viewDidLayoutSubviews() {
DispatchQueue.main.async {
self.scrollview.translatesAutoresizingMaskIntoConstraints = true
self.scrollview.contentSize = CGSize(width:0, height:self.scrollview.frame.height*2) // whatever hight you want
}
}