iPhone:从页面中删除对象
我有一个UIView,它有一个我写的“display”方法。 在“显示”方法中,我有以下代码: 首先,创建一个主视图iPhone:从页面中删除对象,iphone,objective-c,Iphone,Objective C,我有一个UIView,它有一个我写的“display”方法。 在“显示”方法中,我有以下代码: 首先,创建一个主视图 UIView *contentView = ... 第二,创建大量对象,如下所示: ObjectView* objectView = ... (ObjectView is also a UIView) [contentView addSubview:objectView]; [[contentView subviews] makeObjectsPerformSelector
UIView *contentView = ...
第二,创建大量对象,如下所示:
ObjectView* objectView = ... (ObjectView is also a UIView)
[contentView addSubview:objectView];
[[contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
第三,将所有这些对象添加到contentView,如下所示:
ObjectView* objectView = ... (ObjectView is also a UIView)
[contentView addSubview:objectView];
[[contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
最后,我将contentView添加到self中
最初,“display”方法是从“initWithFrame”调用的,它按照我的要求显示。我还有一个视图,单击该视图时还调用“display”方法,这次它应该显示新内容。问题是新内容显示在原始内容上,而原始内容不会被删除。
我做错了什么?
谢谢 您需要删除旧的子视图,如下所示:
ObjectView* objectView = ... (ObjectView is also a UIView)
[contentView addSubview:objectView];
[[contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
在添加新对象之前,请先删除或从self中删除
contentView
。您应该将这些对象设置为viewController的属性,以便您可以随时根据需要对其进行设置:
在标题中:
ObjectView *objectview;
@property (nonatomic, retain) ObjectView *objectview;
整型
@synthesize objectview;
然后,您可以在任意位置设置objectview的属性
objectview.label.text = @"some text"; //just an example