0

我有两个 NSButton。两个按钮都带有图像。这就是我创建的 [按钮] ( http://i.stack.imgur.com/IYXIE.png ) 问题是星形按钮总是位于叶子按钮后面。我怎么能把它放在前面。(搜索 Mac osx 而不是 iOS。)
更新:这是我在第一次 在此处输入图像描述鼠标悬停时得到的,在第二次鼠标悬停时得到的在此处输入图像描述

4

5 回答 5

2
[starButton removeFromSuperview];
[self addSubview:starButton positioned:NSWindowAbove relativeTo:nil];

此外,NSView 支持该方法

 sortSubviewsUsingFunction:context:

实现它以简单地对视图进行排序.. 需要更多代码但看起来更干净。

于 2013-05-06T13:40:50.877 回答
1

您可以使用 bringSubviewToFront 强制视图出现在另一个视图的“顶部”:

[parentView bringSubviewToFront:view];

如果要更改情节提要设计器中视图的顺序,只需将所需的视图拖到左侧菜单中另一个视图的下方即可。最顶部的视图始终是列表中最后显示的视图。

故事板

于 2013-05-06T12:38:38.297 回答
1

我使用的不是明星AApple而是离开。

您正在这样做: 在此处输入图像描述

您需要将按钮位置更改为:

在此处输入图像描述

A 后带按钮Apple

然后你会看到根据你的要求。

在此处输入图像描述

于 2013-05-06T14:47:31.163 回答
0

这会做

[parentView bringSubviewToFront:leafButton];
[parentView bringSubviewToFront:starButton];
于 2013-05-06T12:56:08.860 回答
0

要在 macOS 上将子视图置于最前面,请执行以下操作:

NSView *superView = myObject.superview;
[myObject removeFromSuperview];
[superView addSubview:myObject]; // brings to the front
于 2017-01-09T06:31:25.653 回答