NSTextView/NSScrollView 上的圆角?
Rounded corners on an NSTextView/NSScrollView?
这里已经有一个类似的问题,但在 objective C 中。 objective C 中的答案显然是:
[self.textView.layer setCornerRadius:10.0f];
我试过用几种不同的方式将其翻译成 Swift。我猜我想要这样的东西(或者考虑到 obj-c 问题是在 2012 年发布的,现在可能有一种完全不同的方法):
consoleTextView.layer.setCornerRadius(10)
我在 xcode 的属性检查器中也看不到它的选项。也许是 NSScrollView 需要改变,我不知道。希望在 swift/xcode 方面有更多经验的人可以帮助我。
编辑- 根据要求,如何创建 consoleTextView:
consoleTextView = consoleScrollView.documentView as? NSTextView
编辑- scroll/textView 的图片,它是底部的灰色框。它被用作类似终端的 window.
我设法解决了我的问题:
consoleScrollView.wantsLayer = true
consoleScrollView.layer?.cornerRadius = 10
有效^
你也可以对 TextView 做同样的事情,但是你会在它后面留下 ScrollView 的方形轮廓,所以如果你想达到和我一样的效果,你必须这样做ScrollView 也是如此。
这里已经有一个类似的问题,但在 objective C 中。 objective C 中的答案显然是:
[self.textView.layer setCornerRadius:10.0f];
我试过用几种不同的方式将其翻译成 Swift。我猜我想要这样的东西(或者考虑到 obj-c 问题是在 2012 年发布的,现在可能有一种完全不同的方法):
consoleTextView.layer.setCornerRadius(10)
我在 xcode 的属性检查器中也看不到它的选项。也许是 NSScrollView 需要改变,我不知道。希望在 swift/xcode 方面有更多经验的人可以帮助我。
编辑- 根据要求,如何创建 consoleTextView:
consoleTextView = consoleScrollView.documentView as? NSTextView
编辑- scroll/textView 的图片,它是底部的灰色框。它被用作类似终端的 window.
我设法解决了我的问题:
consoleScrollView.wantsLayer = true
consoleScrollView.layer?.cornerRadius = 10
有效^
你也可以对 TextView 做同样的事情,但是你会在它后面留下 ScrollView 的方形轮廓,所以如果你想达到和我一样的效果,你必须这样做ScrollView 也是如此。