以编程方式展开 ScrollView 的高度
Posted
技术标签:
【中文标题】以编程方式展开 ScrollView 的高度【英文标题】:Expand a ScrollView's height programmatically 【发布时间】:2018-08-09 23:55:58 【问题描述】:我现在正在尝试几个小时来解决这个问题,但这并不意味着这是一个困难的问题,因为我是一个完全的初学者。
我正在使用 swift 使用 XCode 9。
我创建了一个 ViewController,其中包含一个包含滚动视图的视图。 我的目标是能够以编程方式设置滚动视图的模拟高度(我可以滚动),这样我就可以使 ScrollView 展开。
我试过了:
ScrollView.frame = CGRect(x: 0, y: 0, width: ScrollView.frame.width, height: 3000)
将视图的高度设置为 3000,但它不起作用。如果我使用情节提要设置视图的高度,它仍然可以工作......
【问题讨论】:
【参考方案1】:Scrollview 期望它的内容来自内部元素,反之亦然,或者您需要像这样设置它的 contentSize
let scroll = UIScrollView(frame: self.view.frame)
view.addSubview(scroll)
let v1 = UIView(frame: self.view.frame)
v1.backgroundColor = .red
let v2 = UIView(frame: self.view.frame.offsetBy(dx: 0, dy: self.view.frame.height)) // set y of view 2 to be bottom of view 1
v2.backgroundColor = .blue
scroll.addSubview(v1)
scroll.addSubview(v2)
scroll.contentSize = CGSize(width: self.view.frame.width, height: self.view.frame.height * 2 )
【讨论】:
以上是关于以编程方式展开 ScrollView 的高度的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式更改 UIScrollView 的框架(Swift 5)
为啥我在 ScrollView 中的 UIView 不遵守它的高度限制?