我有一个UIView,它有一个我写的“显示”方法。 在'display'方法中,我有以下代码: 首先,创建一个主视图
UIView *contentView = ...
其次,创建大量对象,如下所示:
ObjectView* objectView = ... (ObjectView is also a UIView)
第三,将所有这些对象添加到contentView,如下所示:
[contentView addSubview:objectView];
最后,我将contentView添加到自己。
最初,'display'方法是从'initWithFrame'调用的,它全部显示为我想要的。我还有一个视图,当点击时也调用'display'方法,这次它应该显示新的内容。问题是新内容显示在原始内容上,原始内容未被删除。 我究竟做错了什么? 谢谢!
答案 0 :(得分:2)
您需要删除旧的子视图:
[[contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
要么在添加新的contentView
之前删除{{1}}。
答案 1 :(得分:0)
您应该为viewController创建这些对象属性,以便随时根据需要设置它们: 在标题中:
ObjectView *objectview;
@property (nonatomic, retain) ObjectView *objectview;
int .m
@synthesize objectview;
然后您可以在任何地方设置objectview的属性。
objectview.label.text = @"some text"; //just an example