Отображение другого представления из метода делегата - PullRequest
0 голосов
/ 02 августа 2011

У меня есть 2 класса: у класса A есть объявленный протокол, который я вызываю в классе B. Я отправляю изображение из класса A в класс B с помощью делегата, а в классе B что-то делаю с этим образом в соответствии с методом протокола из класса A.Затем я хочу создать новое представление в конце метода этого протокола внутри класса B. Я знаю, что эти две строки вызова нового представления работают, потому что, если я вызываю его в классе A (например, в viewDidLoad), то это работает.Новый взгляд показывает в этом случае все, что я хочу.Однако, когда я вызываю его из метода протокола, он не работает.Как показать это представление?

класс Ах

@protocol AViewControllerDelegate<NSObject>
@optional
- (void) tappedImage:(NSNumber*)tag;
@end

класс Am

[self dismissModalViewControllerAnimated:YES];
if ([self.delegatee respondsToSelector:@selector(tappedImage:)])
    [self.delegatee performSelector:@selector(tappedImage:) withObject: [NSNumber numberWithInt:imageView.tag]];

класс Bm

- (void) tappedImage:(NSNumber*)tag{
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed: [NSString stringWithFormat: @"%@.png",tag]]];

PictureEditingViewController *dvController = [[PictureEditingViewController alloc] initWithPicture: imgView.image];
[self presentModalViewController:dvController animated:YES];
//[dvController release]; dvController = nil;
}

PictureEditingViewControllerсм. NSLog, который у меня есть внутри viewDidLoad.Однако на экране iphone ничего не отображается, вероятно, новый вид «под» старым.Как установить новый вид на верхнюю часть старого вида? ..

Спасибо за любую помощь ^^

1 Ответ

0 голосов
/ 01 сентября 2011

Я не нашел хорошего способа сделать это, однако, когда я добавил контроллер навигации и вместо:

[self presentModalViewController:dvController animated:YES]; 

используется:

[self.navigationController pushViewController:pictureEditingVC animated:YES]; 

Приложение работало хорошо. Это не решение, а способ опустить эту проблему.

...