我有一个主视图,我在方法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,事情就没有用了......任何想法???????
非常感谢!
答案 0 :(得分:0)
您应该使用dismissModalViewControllerAnimated:
从viewTwo切换回viewOne,而不是尝试以模态方式呈现viewOne。
另请注意,viewDidLoad
仅在视图控制器的视图加载到内存后调用一次。如果要在屏幕上显示视图后执行操作,则应在viewWillAppear:
中执行此操作。
UIViewController类引用和View Controller编程指南中讨论了这两点。