视图转换后图像视图未更新

时间:2010-04-22 23:15:10

标签: iphone uiview uiimageview

我有一个主视图,我在方法viewDidLoad:

中显示图像

ballRect = CGRectMake(posBallX,144,32.0f,32.0f);  theBall = [[UIImageView alloc] initWithFrame:ballRect];  [theBall setImage:[UIImage imageNamed:@“ball.png”]];  [self.view addSubview:theBall];  [laPalla发布];

显然,定义了posBallX的值,然后在同一个类中通过自定义方法调用多次更新。

theBall.frame = CGRectMake(posBallX, 144, 32, 32);

一切正常,但当我用

转到另一个视图时
[self presentModalViewController:viewTwo animated:YES];

然后回来

[self presentModalViewController:viewOne animated:YES];

在调用方法viewDidLoad之后正确显示图像(我使用NSUserDefaults检索值)但在第二种方法中不再显示。在NSLog中我甚至可以正确地看到新的posBallX更新,但是图像根本不再显示...... Label也是如此,它应该打印posBallX的值。

所以,如果我从viewTne回到viewOne,事情就没有用了......任何想法???????

非常感谢!

1 个答案:

答案 0 :(得分:0)

您应该使用dismissModalViewControllerAnimated:从viewTwo切换回viewOne,而不是尝试以模态方式呈现viewOne。

另请注意,viewDidLoad仅在视图控制器的视图加载到内存后调用一次。如果要在屏幕上显示视图后执行操作,则应在viewWillAppear:中执行此操作。

UIViewController类引用和View Controller编程指南中讨论了这两点。