我有两个现有按钮和一个NSImageView的分层问题。我有一个名为PhotosView的自定义视图,该视图从NSView继承有两个按钮(箭头):
@interface PhotosView : NSView
- (void)setPhoto:(NSURL *)path;
@end
在setPhoto方法的实现中,我将照片添加到PhotosView中:
- (void)setPhoto:(NSURL *)path
{
[imageView removeFromSuperview];
imageView = [[NSImageView alloc] initWithFrame:[self frame]];
[imageView setImage:[[NSImage alloc] initWithContentsOfURL:path]];
[self addSubview:imageView];
}
imageView被添加到两个按钮的顶部。在我的研究中,我只发现了与iOS开发类似的问题。一个有用的线程在这里:http://www.cocoabuilder.com/archive/cocoa/55873-nsview-subviews-ordering.html,但是我真的不能相信没有比这更简单的解决方案了吗?
最佳答案
将您的最后一行更改为:
[self addSubview:imageView positioned:NSWindowBelow relativeTo:nil];
(请参阅API here)