Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Macos addSubview:定位:相对:有时不工作_Macos_Nsview - Fatal编程技术网

Macos addSubview:定位:相对:有时不工作

Macos addSubview:定位:相对:有时不工作,macos,nsview,Macos,Nsview,我使用[viewA addSubview:viewB positioned:nswindowoverrelativeto:nil]将viewB添加到viewA的其他子视图之上,并且视图层次结构是正确的。但在UI中,viewB不在顶部,它仍然被viewC隐藏 我发现如果viewC是一个wantsLayer或由OpenGL渲染的视图,那么这个问题就会发生。但如果viewC是普通视图,viewB将位于顶部,而不是被viewC隐藏。它似乎与视图渲染机制有关 苹果公司的doc ofaddSubview:p

我使用
[viewA addSubview:viewB positioned:nswindowoverrelativeto:nil]
将viewB添加到viewA的其他子视图之上,并且视图层次结构是正确的。但在UI中,viewB不在顶部,它仍然被viewC隐藏

我发现如果viewC是一个
wantsLayer
或由OpenGL渲染的视图,那么这个问题就会发生。但如果viewC是普通视图,viewB将位于顶部,而不是被viewC隐藏。它似乎与视图渲染机制有关


苹果公司的doc of
addSubview:positioned:relativeTo:
对此没有任何说明,所以有人有想法吗?

您是否尝试过将relativeTo设置为视图而不是nil?[NSView addSubview:positioned:relativeTo:]的文档说明,如果relativeTo为nil,则添加的视图将添加到其所有新同级的上方或下方。是的,已经尝试过,但没有效果。我不认为这是零的问题。谢谢。既然您没有使用relativeTo参数,为什么不直接使用[NSView addSubview:]?这可能会解决您的问题。我需要指定层次结构中的视图位置,而不仅仅是放置在视图中。这可能是一个已在macOS 10中解决的错误。13您是否尝试将relativeTo设置为视图而不是nil?[NSView addSubview:positioned:relativeTo:]的文档说明,如果relativeTo为nil,则添加的视图将添加到其所有新同级的上方或下方。是的,已经尝试过,但没有效果。我不认为这是零的问题。谢谢。既然您没有使用relativeTo参数,为什么不直接使用[NSView addSubview:]?这可能会解决您的问题。我需要指定层次结构中的视图位置,而不仅仅是放置在视图中。这可能是一个在macOS 10.13中已解决的错误