NSRulerView超越NSTableView?

Kyl*_*yle 5 nstableview nsscrollview osx-yosemite

非常基本的场景:

我的笔尖里有一个NSTableView,它有一个指向它的插座.我在我的app委托中有以下内容:

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

    [scroller setHasVerticalRuler: YES];
    [scroller setRulersVisible: YES];
}
Run Code Online (Sandbox Code Playgroud)

标尺显示在我的表格标题的上方(任何任何内容):

Tableview用尺子超越

了解第1列仅部分可见.如果我使用textview尝试相同的东西,那么它工作完美,光标缩进并且文本清晰可见:

Textview正确

谁能指出我做错了什么?

编辑:我发现这是Yosemite的一个问题,在旧的OS X版本中不存在.我已经提交了错误报告,但我想现在的问题是,是否有人知道解决方法?

已在此处示例项目.

小智 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]];
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。