以编程方式滚动到 NSScrollView 的末尾时出现问题
having issues scrolling to the end of NSScrollView programmatically
我有一个NSScrollView
,每次我点击一个按钮,一个对象就会添加到滚动视图中,我添加了下面的代码,所以每次我按下按钮,对象就会添加到滚动视图中,我的滚动视图滚动到添加新对象的滚动视图的末尾:
let widthcc = scollingView.documentView!.frame.size.width + 156
scollingView.contentView.scrollPoint( NSPoint ( x: widthcc, y: 0))
但我没有得到我想要的结果,无论我在实际最后添加的对象后面的一个对象中执行新的滚动位置。
我做错了什么?
这是我的 xcode 项目:
https://dl.dropboxusercontent.com/u/64067896/2_infinite_scrolle.zip
快速解决方案是:
@IBAction func myButtonAction(sender: AnyObject) {
add()
NSOperationQueue.mainQueue().addOperationWithBlock {[unowned self] in
let widthcc = self.scollingView.documentView!.frame.size.width + 156
print(widthcc)
self.scollingView.contentView.scrollPoint( NSPoint ( x: widthcc, y: 0))
}
}
它让布局完成调整您的视图,然后在 UI 循环的循环中滚动到末尾。
我有一个NSScrollView
,每次我点击一个按钮,一个对象就会添加到滚动视图中,我添加了下面的代码,所以每次我按下按钮,对象就会添加到滚动视图中,我的滚动视图滚动到添加新对象的滚动视图的末尾:
let widthcc = scollingView.documentView!.frame.size.width + 156
scollingView.contentView.scrollPoint( NSPoint ( x: widthcc, y: 0))
但我没有得到我想要的结果,无论我在实际最后添加的对象后面的一个对象中执行新的滚动位置。
我做错了什么?
这是我的 xcode 项目: https://dl.dropboxusercontent.com/u/64067896/2_infinite_scrolle.zip
快速解决方案是:
@IBAction func myButtonAction(sender: AnyObject) {
add()
NSOperationQueue.mainQueue().addOperationWithBlock {[unowned self] in
let widthcc = self.scollingView.documentView!.frame.size.width + 156
print(widthcc)
self.scollingView.contentView.scrollPoint( NSPoint ( x: widthcc, y: 0))
}
}
它让布局完成调整您的视图,然后在 UI 循环的循环中滚动到末尾。