0

我在 NSScrollView 中嵌入了一个 IKImageBrowserView。

我正在尝试实现像我们在 Lion 或其他应用程序(如 Sparrow 和 Reeder)中看到的滚动条。我希望我的滚动条浏览内容。

所以,我唯一的问题是内容越过滚动条而不是越过滚动条。

我知道我可以使用-tileNSScrollView 的方法来安排不同的部分,但我不知道如何将它用于我的目的。

编辑:这是我的代码-tile

- (void)tile
{
    [super tile];

    // We move the scroll to be just below the scrollView
    NSScroller *verticalScroller = [self verticalScroller];
    NSRect verticalScrollerFrame = [verticalScroller frame];
    verticalScrollerFrame.origin.x -= 117.0;
    [verticalScroller setFrame:verticalScrollerFrame];

    // We expand the scrollview to embrace the whole window
    NSRect scrollViewFrame = [self frame];
    scrollViewFrame.size.width = 655.0;
    [self setFrame:scrollViewFrame];

}

这是它的样子:

预览

有谁知道为什么滚动条在内容视图下的内容?或者有例子吗?

我已经看过这个主题了:Overlay NSScroller over content and a lot of others without find an answer。

谢谢你的帮助!

4

2 回答 2

2

好的,我想我找到了问题所在。

NSRect scrollViewFrame = [self frame];
scrollViewFrame.size.width = 655.0;
[self setFrame:scrollViewFrame];

在这个块中,我[self frame]用来获取 NSClipView contentFrame 而不是[[self contentView] frame].

它应该看起来像这样。

NSRect scrollViewFrame = [[self contentView] frame];
scrollViewFrame.size.width = 655.0;
[[self contentView] setFrame:scrollViewFrame];

我还没有尝试过,但我很确定这是问题所在。

于 2011-03-08T12:06:57.073 回答
1

Sparrow 开发人员在这里发布了他的代码:http: //dinhviethoa.tumblr.com/post/6138273608/ios-style-scrollbars-for-nsscrollview

于 2011-12-29T10:01:11.997 回答