我试图通过代码将UI组件添加到我的视图中并且它运行良好,直到我返回到视图(通过弹出视图功能)我发现通过接口构建器添加的组件仍然存在而组件添加代码删除! (我试图在VC中打印子视图,但它们不存在)。
我错过了什么?
SharedDataObject.m
@property (retain, nonatomic) UIImageView *brandLogoImageView;
@property (retain, nonatomic) UILabel *brandNameLabel;
ViewController.m
- (void)initUI {
if ([[SharedDataObject shared]noLogo]) {
[[[self view] viewWithTag:13]addSubview:[[SharedDataObject shared] brandNameLabel]];
}
else
{
[[[self view] viewWithTag:13]addSubview:[[SharedDataObject shared] brandLogoImageView]];
}
[_brandMessageLabel setText:[[[SharedDataObject shared] loginObject] promotion]];
}
和
- (void)viewDidLoad {
[self initUI];
}
答案 0 :(得分:2)
我猜你正在使用这个观点
[[SharedDataObject shared] brandLogoImageView]
在你推动的viewcontroller中。
UIKit框架只允许每个视图使用一个superview。因此,您需要重新添加或使用其他imageview在两个viewcontrollers中显示图像。
答案 1 :(得分:0)
尝试在viewDidAppear / viewWillAppear方法中添加视图组件。表示在viewcontroller的viewDidApper方法中调用initUI方法。