Mac开发-NSTableView

知识点:
1、使某一行显示在视图的中间位置:

extension NSTableView {
    
    func scrollRowToCenter(_ row: Int) {
        
        guard let clipView = superview as? NSClipView, let scrollView = clipView.superview as? NSScrollView else {
            assertionFailure("Unexpected NSTableView view hiearchy")
            return
        }
        
        let rowRect = rect(ofRow: row)
        var scrollOrigin = rowRect.origin
        
        let tableHalfHeight = clipView.frame.height * 0.5
        let rowRectHalgHeight = rowRect.height * 0.5
        
        scrollOrigin.y = (scrollOrigin.y - tableHalfHeight) + rowRectHalgHeight
        
        scrollView.flashScrollers()
        
        clipView.setBoundsOrigin(scrollOrigin)
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容