gpt4 book ai didi

cocoa - 剪切 NSScrollView 上的圆角

转载 作者:行者123 更新时间:2023-12-03 16:11:22 27 4
gpt4 key购买 nike

我有一个简单的自定义无边框 NSWindow 子类,它具有圆角矩形形状。

在此窗口的内容 View 中,我添加了一个 NSScrollView。

如何让 NSScrollView 将其文档 View 剪切到 NSWindow 的圆角矩形形状?

我尝试过对 NSScrollView 进行子类化、重写drawRect: 并在调用 super 之前添加剪切路径。我还尝试使用相同的技术对文档 View 和剪辑 View 进行子类化,但我无法将其剪辑。

顺便说一句,这是在 Lion 上具有弹性滚动行为的。

最佳答案

经过一番摆弄,我刚刚发现 NSScrollView 可以通过简单地给它一个背衬层并设置该层的圆角半径提供来使其具有圆角也对其内部 NSClipView 执行相同的操作。两者都是必需的,现在这是有意义的,因为剪辑 View 实际上为 NSScrollView 的文档 View 提供了可 window 口。

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];

关于cocoa - 剪切 NSScrollView 上的圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com