У меня есть 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 ничего не отображается, вероятно, новый вид «под» старым.Как установить новый вид на верхнюю часть старого вида? ..
Спасибо за любую помощь ^^