以编程方式滚动到 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 循环的循环中滚动到末尾。