【发布时间】:2023-03-13 08:10:02
【问题描述】:
我只是想在 NSTextView 周围画一个点黑色边框,但遇到了麻烦。下面的代码是NSTextView的一个子类:
override init(frame: NSRect, textContainer: NSTextContainer?)
{
super.init(frame:frame, textContainer: textContainer)
self.wantsLayer = true
self.layer?.borderColor = NSColor.black.cgColor
self.layer?.borderWidth = 1.0
self.layer?.cornerRadius = 0.0
}
self.wantsLayer = true 代码导致NSTextView 消失。有没有其他方法可以做到这一点?
编辑:这就是我将NSTextView 又名PageView 添加到其父级view 的方式:
let textContainer = NSTextContainer()
textContainer.widthTracksTextView = true
textContainer.heightTracksTextView = true
let pageView = PageView(frame: CGRect(x: 0, y: pagesViewOriginY, width: self.paperSize.width, height: self.paperSize.height), textContainer: textContainer)
self.addSubview(pageView);
self.layoutManager.addTextContainer(textContainer);
【问题讨论】:
-
消失了?它是第一次加载时显示的吗?展示您如何将此文本视图添加到您的视图中。
-
@Frankenstein 是的,当我删除 self.wantsLayer = true 时它会显示。我在上面添加了您要求的代码。
标签: swift macos cocoa nstextview