【问题标题】:Rounded corners on an NSTextView/NSScrollView?NSTextView/NSScrollView 上的圆角?
【发布时间】:2019-11-21 00:15:28
【问题描述】:

这里已经有一个类似的问题,但它在目标 C 中。目标 C 中的答案显然是:

[self.textView.layer setCornerRadius:10.0f];

我尝试过几种不同的方式将其翻译成 Swift。我猜我想要这样的东西(或者考虑到 obj-c 问题早在 2012 年就发布了,也许现在有一种完全不同的方法):

consoleTextView.layer.setCornerRadius(10)

我在 xcode 的属性检查器中也看不到它的选项。也许是 NSScrollView 需要改变,我不知道。希望有更多 swift/xcode 经验的人可以帮助我。

EDIT- 根据要求,consoleTextView 是如何创建的:

consoleTextView = consoleScrollView.documentView as? NSTextView

EDIT- 滚动/文本视图的图片,它是底部的灰色框。它被用作类似终端的窗口。

【问题讨论】:

  • 能否添加代码,consoleTextView 是如何创建的?
  • 哪些角应该圆角,文本视图的角还是滚动视图的角?您是否尝试绕过滚动视图的角落? [self.textView.layer setCornerRadius:10.0f]; 是从 iOS 问题中复制的吗?
  • @Willeke 我的 textView 和 scrollView 看起来像一个元素。我将编辑以包含图片。我不确定哪个需要四舍五入,我是 swift 和 xcode 的新手,所以我有点想通过一个项目来破解我的方式。
  • 查看视图层次结构(显示文档大纲)。文本视图位于滚动视图内的剪辑视图内。

标签: swift xcode macos textview nstextview


【解决方案1】:

我设法解决了我的问题:

consoleScrollView.wantsLayer = true
consoleScrollView.layer?.cornerRadius = 10

有效 ^

你也可以用 TextView 做同样的事情,但是你会留下 ScrollView 的方形轮廓,所以如果你想实现和我一样的事情,你必须用 ScrollView 来做反正也一样。

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    相关资源
    最近更新 更多