我尝试创建一个scrollview。通过Xib创建了一个scrollview,以编程方式添加了scrolledView(一个包含scrollView中所有子视图的NSView)。
以下代码显示了子视图,但scrollView未滚动。为什么呢?
class LevelScrollController: NSViewController {
@IBOutlet var scrollView: NSScrollView!
override func viewDidLoad() {
super.viewDidLoad()
let scrolledView = NSView(frame: NSRect(x: 0, y: 0, width: scrollView.frame.size.width, height: 300))
// Inserisco pulsanti di esempio
for i in 1 ... 10{
scrolledView.addSubview(NSButton(frame: NSRect(x: 0, y: i*30, width: 100, height: 30)))
}
scrollView.addSubview(scrolledView)
}
将代码放在viewDidLayout而不是viewDidLoad中不会更改结果:不滚动
答案 0 :(得分:6)
不是将scrolledView添加到scrollView的子视图,而是将其设置为documentView。
将scrollView.addSubview(scrolledView)
替换为scrollView.documentView = scrolledView