我有一个NSView,里面有两个视图。我试图隐藏一个视图并显示另一个视图,但视图不会改变。
我尝试了setHidden,removeFromSuperview,addSubview在前面,一切。第一个视图仍在那里,另一个视图不会显示出来。我做错了什么?
谢谢你, -Albé
答案 0 :(得分:3)
- (void)awakeFromNib {
[self.view addSubview:self.viewOne];
}
[self.view replaceSubview:self.viewOne with:self.viewTwo];
选择容器视图,并在核心动画层中进行检查,然后在下面选择转换。
[[self.view animator] replaceSubview:self.viewOne with:self.viewTwo];
答案 1 :(得分:1)
只要每个子视图都与它有关联(IBOutlet
),那么您应该可以使用[superView replaceSubview:oldView with:newView];
。
答案 2 :(得分:1)
除了MikeSwan的建议外,您还可以使用NSViewAnimation(或许多其他技术)来设置过渡动画。
答案 3 :(得分:1)
您还可以将两个视图放入tabless选项卡视图中,只需设置选项卡视图的选定选项卡索引。