gpt4 book ai didi

swift - 在 NSTextView 下面添加一个 NSVisualEffectView

转载 作者:行者123 更新时间:2023-11-30 14:08:37 26 4
gpt4 key购买 nike

我想在 NSTextView 中添加一个 NSVisualEffectView,但是当我添加它时,文本位于 NSVisualEffectView 下方,那么,如何在文本下方添加 NSVisualEffectView?

我的 OS X 代码:

class myTextView: NSTextView {

override func awakeFromNib() {
let visualEffectView = NSVisualEffectView(frame: NSMakeRect(20, 20, 30, 18))
visualEffectView.material = NSVisualEffectMaterial.Dark
visualEffectView.blendingMode = NSVisualEffectBlendingMode.BehindWindow
self.addSubview(visualEffectView)
}
}

最佳答案

也许这会对您有所帮助:

class MyTextView: NSTextView {

lazy var visualEffectView: NSVisualEffectView = {
let visualEffectView = NSVisualEffectView()
visualEffectView.material = NSVisualEffectMaterial.Dark
visualEffectView.blendingMode = NSVisualEffectBlendingMode.BehindWindow

return visualEffectView
}()

override func awakeFromNib() {
super.awakeFromNib()

self.drawsBackground = false
}

override func viewDidMoveToSuperview() {
super.viewDidMoveToSuperview()

if let containerView = self.superview?.superview?.superview {
containerView.addSubview(self.visualEffectView, positioned: .Below, relativeTo: self)
}
}

override func resizeSubviewsWithOldSize(oldSize: NSSize) {
super.resizeSubviewsWithOldSize(oldSize)

if let superview = self.superview?.superview {
self.visualEffectView.frame = superview.frame
}
}

}

它是 ScrollView 和剪辑 View 中的 TextView ,因此您必须获取其 super View 。

关于swift - 在 NSTextView 下面添加一个 NSVisualEffectView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030627/

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