我有两个现有按钮和一个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

10-08 06:08
查看更多