我的可可应用有一个“仪表板”风格的布局。当应用程序启动时,主窗口包含6个显示图形的视图。当我单击最底部视图的任何部分时,会弹出另一个NSView实例作为注释。我遇到的问题是弹出式NSView在维度上足够大,窗口中的其他视图与弹出式视图重叠。目前,我使用:[self superview addSubview:annotationView ];其中'superview‘是窗口。我不确定为什么会出现这种情况,我试着将弹出视图从“视图堆栈”中移除,并使其改变位置,但这不起作用。
发布于 2011-05-26 01:34:06
[[[self window] contentView] insertView:popupView atIndex:0];这将在顶层插入视图,如果您仍然看不到它,您将需要向NSWindow的内容视图的superview添加一个子视图。
发布于 2011-05-26 06:15:49
如果所有视图都作为[self superview]的子视图添加,则必须确保它们不会重叠。如果有重叠的兄弟视图,Cocoa不能保证正确的行为。
如果您想要一个弹出式视图,请考虑使用子窗口。因为它是一个不同的窗口,所以弹出窗口位于不同的视图层次中,因此您不会有重叠兄弟视图的问题。
使用子窗口获取附加信息的一个很好的例子是Matt Gemmell’s MAAttachedWindow。
https://stackoverflow.com/questions/6128381
复制相似问题