【发布时间】:2011-06-05 20:19:22
【问题描述】:
我正在创建一个应用程序,其中我需要一个透明的 NSView,里面有一个透明的 PNG 图像。问题是,我正在绘制的 NSView 上面有灰色背景。我有它的子类(作为透明矩形视图),但不知道在 drawRect 中放置什么以使其透明。
我已经重写了 isOpaque 方法以返回 NO,但它似乎没有帮助...
或者,是否已经有一个类似于iPhone的UIImageView的子类NSView(只要我可以在里面添加子视图,我需要在里面添加一些文本)。
【问题讨论】:
-
Interface Builder 中没有透明度滑块吗?我似乎记得不小心调低了我的一个视图的不透明度。
-
我几乎 100% 确定设置了整个视图的透明度,包括孩子。这意味着我所有的按钮和文本也将有 1% 的不透明度或其他。如果我错了,请告诉我:D
-
等等,所以你只想要一个透明的背景颜色?我知道 UIViews 可以使用预定义的透明颜色,尽管我没有尝试将它与 NSViews 一起使用。
-
是的,不过我在 Mac 上,所以 UIView 与 NSView 不同。无论如何,用 FakeImageView 解决了问题
-
@Andrew M,你错了,视图的透明度不会影响其子级。视图是相互独立绘制的。
标签: objective-c cocoa macos subclass nsview