Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 想要更改NSPopover的不透明度-可能吗?_Cocoa_Opacity_Nspopover - Fatal编程技术网

Cocoa 想要更改NSPopover的不透明度-可能吗?

Cocoa 想要更改NSPopover的不透明度-可能吗?,cocoa,opacity,nspopover,Cocoa,Opacity,Nspopover,我在Cocoa应用程序中有一个nspover,由于Lion-它呈现为半透明,因此它覆盖的任何文本字段、表格等-现在都显示在它下面,看起来非常奇怪。我查看了Apple的类引用文档,但似乎没有办法将其更改为不透明。唯一可用于指定外观的属性值是nspoverappearanceminimal和nspoverappearancehud——但这两个属性值似乎都与alpha或不透明性无关。是否唯一的方法是通过覆盖drawRect使nspoover不透明?或者有人知道更好的方法吗?它似乎可用于iOS上的uip

我在Cocoa应用程序中有一个
nspover
,由于Lion-它呈现为半透明,因此它覆盖的任何文本字段、表格等-现在都显示在它下面,看起来非常奇怪。我查看了Apple的类引用文档,但似乎没有办法将其更改为不透明。唯一可用于指定外观的属性值是
nspoverappearanceminimal
nspoverappearancehud
——但这两个属性值似乎都与alpha或不透明性无关。是否唯一的方法是通过覆盖drawRect使
nspoover
不透明?或者有人知道更好的方法吗?它似乎可用于iOS上的
uipover
,但不可用于Cocoa…

要将背景完全不透明,请查看以下帖子:


您使用的是什么版本的OSX?我看不到这种行为的最小的外观-似乎相当不透明对我来说。如果你想改变背景,很容易添加一个NSBox(自定义类型)来覆盖整个视图,然后给它任何你想要的背景颜色。我使用的是OSX 10.8。它大部分是不透明的,但您仍然可以看到popover后面的文本。尝试添加NSBox(自定义类型)以覆盖整个内容-这是可行的,但它将自己绘制在popover中文本的顶部,即使它放置在最底层(在IB中),它仍会渲染popover中包含的文本字段。我确信有一种方法可以通过编程来实现。。。我一弄明白,就会把解决办法贴在这里。谢谢文本字段和您拥有的任何其他UI元素都应该嵌入到框中——您可以通过选择所有这些元素,然后单击编辑器菜单下的“嵌入”选项来实现。这将使它们成为框的所有子视图,它们将显示在顶部。这是一个重复的问题。不,你不能改变不透明度。我遇到了完全相同的问题,本文中的解决方案帮助我解决了这个问题。