我正在创建一个应用程序,我需要一个透明的NSView,里面有一个透明的PNG图像.问题是,我正在绘制的NSView有一个灰色的背景.我有它子类(作为TransparentRectangleView),但不知道放在drawRect中以使其透明.
我已经覆盖了isOpaque方法返回NO,但似乎没有帮助…
或者,是否已经有一个类似于iPhone的UIImageView的子类NSView(只要我可以在其中添加子视图,我需要在里面添加一些文本).
解决方法
要使视图透明,只需用[NSColor clearColor]填充.
- (void)drawRect:(NSRect)rect { [[NSColor clearColor] set]; NSRectFill(rect); }
isOpaque的默认实现返回NO,所以如果你是NSView子类,而不是其他视图,你不需要担心覆盖它.