iPhone:从页面中删除对象

时间:2012-01-07 18:07:55

标签: iphone objective-c

我有一个UIView,它有一个我写的“显示”方法。 在'display'方法中,我有以下代码: 首先,创建一个主视图

UIView *contentView = ...

其次,创建大量对象,如下所示:

ObjectView* objectView = ... (ObjectView is also a UIView)

第三,将所有这些对象添加到contentView,如下所示:

[contentView addSubview:objectView];

最后,我将contentView添加到自己。

最初,'display'方法是从'initWithFrame'调用的,它全部显示为我想要的。我还有一个视图,当点击时也调用'display'方法,这次它应该显示新的内容。问题是新内容显示在原始内容上,原始内容未被删除。 我究竟做错了什么? 谢谢!

2 个答案:

答案 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