2017-05-03 97 views
1

在一个macOS项目中,我试图获取并设置NSTableView的滚动光标位置,代码似乎工作,因为不显示错误,但光标不更新。如何保存并恢复Swift中的NSScrollView滚动位置?

var clipOrigin = tableView.enclosingScrollView?.contentView.bounds.origin // get the position 
    clipOrigin = CGPoint (x: 0.0, y: 3.0) // set a new position 
    tableView.enclosingScrollView?.contentView.scroll(to: clipOrigin!) // set the new position 

我忘了什么吗?

+0

[在插入行时保留相同的NSTableView滚动位置](http://stackoverflow.com/q/41965201/2227743) – Moritz

回答

0

contentView.bounds.origin几乎肯定会给你一点0,0几乎总是因为这不是你所期待的价值。 bounds告诉你有关显示画布的视图位置的信息,而不是滚动文档的内部偏移量。

我猜一个-documentRect-documentVisibleRect属性包含您正在寻找适当的偏移值。