0
我从另一个NIB成功显示子视图,我在MainView上有2个按钮和1个UIView,当我点击按钮1时会在UIView上显示NIB1,然后我按钮2会在UIView上显示NIB2,但当我再次KLICK按钮1倍的UIView不再显示NIB1,但仍NIB 2,这是我的代码:
更改UIView的子视图? [关闭]
更新解决
在.h文件中
IBOutlet UIView *bottomView;
在.m文件
-(IBAction) handleButton1{
for (UIView *t in bottomView.subviews) {
[t removeFromSuperview];
}
if (![nib1 isViewLoaded]) {
nib1 = [[NIB1 alloc] initWithNibName:@"NIB1" bundle:nil];
}
[bottomView addSubview:nib1.view];
}
-(IBAction) handleButton2{
for (UIView *t in bottomView.subviews) {
[t removeFromSuperview];
}
if (![nib2 isViewLoaded]) {
nib2 = [[NIB2 alloc] initWithNibName:@"NIB2" bundle:nil];
}
[bottomView addSubview:nib2.view];
}
如何在我的代码上用另一个NIB刷新UIView?
谢谢,
我有解决这种情况下,我从这个http://stackoverflow.com/questions/3915729/refreshing-cell-content-after-deleting-cells
使用删除所有子视图上的MainView:
for (UIView *t in bottomView.subviews) {
[t removeFromSuperview];
}
我希望这个代码帮助任何人:)。
嗨gcamp,非常感谢您的回答,我已经测试了这个'[bottomView bringSubviewToFront:nib1/2.view]'但是重叠,nib2显示在nib1的底部。我测试'[theViewYouDontWantToShow removeFromSuperview]',但这是错误“NIB1可能无法响应removeFromSuperview”,任何建议? – user752846 2011-05-24 00:24:26
你实际上是在试图移除viewController(NIB1),而不是视图本身。你应该把'[nib1.view removeFromSuperview]'...你也可以接受或投票答案,如果它帮助你。 – gcamp 2011-05-24 03:12:49