我正在尝试通过代码将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];
}

最佳答案

我猜您正在使用此视图[[SharedDataObject shared] brandLogoImageView]在您按下的视图控制器中。

UIKit框架仅允许每个视图一个 super 视图。因此,您需要重新添加或使用另一个imageview在两个viewcontrollers中显示图像。

10-05 20:24