我在 InterfaceBuilder (XCode 4) 中设置 NSScrollView 时遇到问题,因此它在 Snow Leopard 和 Lion 下看起来都不错。
我有四个 NSView,其中包含使用程序时需要访问的控件。我已经将视图放置在一个 NSScrollView 的视图中,当窗口变得太小而无法显示所有内容时,它应该显示一个垂直滚动条。(视图是一个自定义视图,它[customView isFlipped] == YES
作为唯一的自定义返回。)
NSScrollView 设置为随着程序窗口的高度垂直自动调整大小。滚动视图内的自定义视图设置为与 NSScrollView 的宽度水平自动调整大小。NSScrollView 显示垂直滚动条并在显示完整内容时自动隐藏它。
使用这种配置,在 Snow Leopard 下一切正常。但是当我使用 Lion 时,垂直滚动条不会显示在自定义视图的顶部,而是显示在右侧的不透明灰色条内。当滚动条被隐藏时,这不会消失,要么是因为窗口足够大,要么是因为 Lion 在不使用时隐藏了滚动条。这看起来真的很不专业,因为我有一些元素跨越了自定义视图的整个宽度,现在从窗口边框停止 15 pts。当我将自定义视图的宽度设置为 NSScrollView 的宽度(一个 NSScroller 的宽度为 +15pt)时,我可以使它在 Lion 下正常运行,但是如果垂直滚动条是,则视图在 Snow Leopard 中水平滚动显示。有没有办法让它在两个系统中看起来都正确?
我正在使用 Snow Leopard 10.6 SDK 和 Leopard 10.5 作为最低操作系统进行编译。