在UIButtons之上分层NSImageView

时间:2013-11-11 21:23:43

标签: objective-c cocoa imageview nsview

我有两个现有按钮和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,但我真的不相信没有更简单的解决方案?

enter image description here

1 个答案:

答案 0 :(得分:2)

将您的最后一行更改为:

[self addSubview:imageView positioned:NSWindowBelow relativeTo:nil];

(参见API here