我在UIViewController中有一个UIView,我在viewDidAppear
方法中添加了一个自定义子视图。如何使用自定义子视图更新或重置UIView?
MyView *myView = [[MyView alloc] initWithLabelText:text];
[self.view addSubview:myView];
[myView release];
的text
变量是在myView
的标签上使用的字符串。每当您回到当前视图时,此text
都会更改。但似乎viewDidAppear
不重新加载视图 - 它反而加载一个新的视图 - 所以我有两个标签在彼此。
我试着用viewWillAppear
但它没有任何区别。我也尝试使用[self.view setNeedsDisplay]
- 没有帮助。我也试图让myView
成为一个实例变量,但它也没有帮助。
什么工作是明确移除来看,当我宣布它作为一个实例变量:
- (void)viewDidDisappear:(BOOL)animated
{
[_myView removeFromSuperview];
}
虽然这个解决办法,我想又回到了它,当简单地重置视图。有谁知道如何做到这一点?我会很感激它;)
谢谢。但是它必须再次成为一个实例变量,不是吗? – marikaner 2010-08-31 01:03:02
不一定,但是也是属性的实例变量是一个好地方,因为这有助于管理保留计数。 (并确保不要用相同名称的局部变量“覆盖”实例变量,或者错误地在另一个对象中使用实例变量)。 – hotpaw2 2010-08-31 01:32:36