在我的视图控制器的初始化中,我声明了一个视图并将其设置为主视图的子视图:
self.customView = [[UIView alloc] initWithFrame:self.view.frame];
self.customView.backgroundColor = [UIColor redColor];
[self.view addSubview:self.customView];
稍后,在一种方法中,我需要替换self.customView
另一种视图。(注意:更改背景颜色只是一个简化示例。视图比这更复杂)。
UIView *anotherView = [[UIView alloc] initWithFrame:self.view.frame];
anotherView.backgroundColor = [UIColor blackColor];
self.customView = anotherView;
但这没有效果。但是,如果我改为做类似的事情:
[self.view addSubview:anotherView];
它工作正常。但是,我想摆脱以前的视图,而无需显式本地化和删除视图。是不是可以在运行时替换子视图或者我错过了什么?
我与 ARC 合作。谢谢!