gpt4 book ai didi

objective-c - NSTextView 与 NSButton 重叠并使其不可点击

转载 作者:行者123 更新时间:2023-12-03 16:31:46 25 4
gpt4 key购买 nike

我正在创建一个自定义 NSButton,由于我使用渐变 View 对其进行子查看,因此默认的 textView 消失了。为了在 textView 上也具有自定义样式,我创建了一个自定义样式并对其进行了 subview 。

按钮现在看起来像:

enter image description here

这是完美的。但是当我点击它时,NSButtonCell不会触发突出显示方法(仅当我在textView外部点击时(底部和顶部有5px间距)

我怎样才能(就像在 iOS 的 UIButton 中添加自定义标签一样)并仍然保持整个按钮可点击。

如有任何帮助,我们将不胜感激!

希尔斯

最佳答案

NSTextField 是一个控件,因此捕获输入事件。您不应该使用它来显示按钮中的文本。 NSButton 使用 NSCell 进行绘制,因此最好将 NSButtonCell 子类化并使用 NSStringDrawing 手动绘制字符串,但前提是您确实无法使用 NSButtonCell 的标准布局属性。这不是 iOS,那里有像 UILabel 这样的轻量级解决方案来绘制文本。相反,NSTextField 会提供大量开销,并会减慢您的应用程序速度,并且可能会在现在或将来为您带来不必要的错误。

Tl;dr:不要使用 NSTextField,自己绘制字符串。

关于objective-c - NSTextView 与 NSButton 重叠并使其不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22323156/

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