uniimageview не обновляется после просмотра просмотров - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть один основной вид, где я отображаю изображение, в методе 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 корректно обновляется, но изображение просто больше не отображается ... То же самое происходит и с меткой, которая должна печатать значение posBallX.

Итак, все просто не работает, если я вернусь к представлению. Одно из представлений. Два ... Любая идея ???????

Большое спасибо!

1 Ответ

0 голосов
/ 23 апреля 2010

Вы должны использовать dismissModalViewControllerAnimated:, чтобы переключиться обратно на viewOne из viewTwo вместо попытки представить viewOne модально.

Также обратите внимание, что viewDidLoad вызывается только один раз - после загрузки представления контроллера представления в память. Если вы хотите выполнить действие, как только представление вернется на экран, вы должны сделать это в viewWillAppear:.

Обе эти точки обсуждаются в справочнике по классу UIViewController и в Руководстве по программированию View Controller.

...