2014-09-26 69 views
4

非常基本的場景:NSRulerView超過NSTableView?

我有一個NSTableView在我的筆尖上有一個插座指向它。我在我的應用程序的委託執行以下操作:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    // Insert code here to initialize your application 
    NSScrollView *scroller = [tableView enclosingScrollView]; 

    [scroller setHasVerticalRuler: YES]; 
    [scroller setRulersVisible: YES]; 
} 

統治者被上層建築顯示我的表頭(任何任何內容)的:

Tableview with ruler overtop

見第1欄怎麼只有部分可見。如果我嘗試用一​​個TextView同樣的事情,那麼它可以完美運行,光標被縮進和文字清晰可見:

Textview proper

任何人都可以指出我在做什麼錯?

編輯:我發現這是優勝美地的一個問題,舊OS X版本中不存在。我提交了一個錯誤報告,但我想現在的問題是,有人知道解決方法嗎?

一個示例項目已被uploaded here

回答

1

問題出在NSScrollView上,它不是你的錯。基本上,column1部分可見的原因是水平滾動條有一個偏移量。

無論如何,這爲我工作:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    // Insert code here to initialize your application 
    NSScrollView *scroller = [tableView enclosingScrollView]; 

    [scroller setHasVerticalRuler: YES]; 
    [scroller setRulersVisible: YES]; 

    NSPoint pointToScrollTo = NSMakePoint (-25 , 0); 
    [[scroller contentView] scrollToPoint: pointToScrollTo]; 
    [scroller reflectScrolledClipView: [scroller contentView]]; 
} 

希望這有助於。

+0

雖然這確實有幫助,但會導致一些奇怪的用戶界面問題。我可能有一個正在工作的解決方案,但我需要做一些額外的測試。 – Kyle 2015-02-04 13:08:30