如何使NSButton上面的NSButton?

时间:2013-05-06 12:32:22

标签: objective-c macos cocoa

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

时得到了这个

5 个答案:

答案 0 :(得分:2)

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

此外,NSView支持方法

 sortSubviewsUsingFunction:context:

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

答案 1 :(得分:1)

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

[parentView bringSubviewToFront:view];

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

Storyboard

答案 2 :(得分:1)

而不是明星,我使用的是A,而Apple代替了离开。

你是这样做的: enter image description here

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

enter image description here

A 之后带按钮Apple

然后你会看到你的要求。

enter image description here

答案 3 :(得分:0)

这样做

[parentView bringSubviewToFront:leafButton];
[parentView bringSubviewToFront:starButton];

答案 4 :(得分:0)

要将子视图放在macOS的前面,请执行以下操作:

NSView *superView = myObject.superview;
[myObject removeFromSuperview];
[superView addSubview:myObject]; // brings to the front