fir*_*der 5 cocoa appkit osx-lion
我有一个简单的自定义无边框 NSWindow 子类,它具有圆角矩形形状。
在这个窗口的内容视图中,我添加了一个 NSScrollView。
如何让 NSScrollView 将其文档视图剪辑到 NSWindow 的圆角矩形形状?
我已经尝试子类化 NSScrollView,覆盖 drawRect: 并在调用 super 之前添加一个剪切路径。我还尝试使用相同的技术对文档视图和剪辑视图进行子类化,但我无法将其剪辑。
顺便说一句,这是在具有弹性滚动行为的 Lion 上。
经过一番摆弄,我发现NSScrollView只需给它一个背衬层并设置该层的角半径,就可以使其具有圆角,前提是您也对其内部执行相同的操作NSClipView。NSScrollView两者都是必需的,现在这是有意义的,因为剪辑视图实际上为的文档视图提供了可视窗口。
NSScrollView * scrollView = ...;
// Give the NSScrollView a backing layer and set it's corner radius.
[scrollView setWantsLayer:YES];
[scrollView.layer setCornerRadius:10.0f];
// Give the NSScrollView's internal clip view a backing layer and set it's corner radius.
[scrollView.contentView setWantsLayer:YES];
[scrollView.contentView.layer setCornerRadius:10.0f];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |