首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >雪豹与狮子的透明行为(NSScroller NSScrollView )

雪豹与狮子的透明行为(NSScroller NSScrollView )
EN

Stack Overflow用户
提问于 2011-08-02 17:36:01
回答 1查看 1.1K关注 0票数 1

我在InterfaceBuilder (XCode 4)中设置NSScrollView时遇到了问题,这样它在雪豹和狮子下看起来都很好。

我有四个NSViews,它们包含在使用程序时需要访问的控件。我已经将视图一个接一个地放在NSScrollView的视图中,当窗口变小时,它应该会显示一个垂直滚动条,以显示所有内容。(该视图是一个自定义视图,它返回[customView isFlipped] == YES作为唯一的自定义。)

NSScrollView设置为与程序窗口的高度垂直自动调整大小。滚动视图中的自定义视图设置为与NSScrollView的宽度水平自动调整大小。NSScrollView显示垂直滚动条,并在显示完整内容时自动隐藏它。

有了这个配置,一切都能在Snow Leopard下很好地工作。但当我使用Lion时,垂直滚动条不会显示在自定义视图的顶部,而是显示在右手边不透明的灰色条中。当滚动条被隐藏时,这不会消失,因为窗口足够大,或者因为Lion在不使用滚动条时隐藏了滚动条。这看起来真的很不专业,因为我得到了一些元素,它们跨越了自定义视图的整个宽度,现在从窗口边界停止15点。当我将自定义视图的宽度设置为NSScrollView的宽度(一个NSScroller的宽度为+15pt)时,我可以在Lion下正确执行此操作,但如果显示垂直滚动条,则视图将在雪豹中水平滚动。有没有办法让它在两个系统上看起来都是正确的?

我使用Snow Leopard 10.6 SDK和Leopard 10.5作为最低版本的操作系统进行编译。

EN

Stack Overflow用户

发布于 2011-08-24 20:19:23

您可以检查您的NSScroller类的preferredScrollerStyle,如果它不是零(实际上是NSScrollerStyleLegacy,但是在SDK10.6中没有它),那么就像上面提到的那样增加您的视图。另外,不要忘记检查您的scroller类是否响应该选择器(并使用performSelector:调用它),因为它只在SDK10.7中添加。或者,您可以使用重载isCompatibleWithOverlayScrollers的NSScroller的自定义后代来返回false。这样即使在Lion上,你也会有15pt宽度的传统滚动条。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6909987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档