私は2つのクラスを持っています:クラスAはクラスBで呼び出す宣言されたプロトコルを持っています。私はクラスAからクラスBにデリゲートを使ってイメージを送り、クラスBではメソッドクラスBの中でこのプロトコルのメソッドの最後に新しいビューを作成したいと思います。新しいビューを呼び出す2行が動作しています。これは、クラスA(viewDidLoadなど)で呼び出すとうまくいくためです。ワーキング。この場合、新しいビューはすべて私が望むものです。しかし、私はプロトコルのメソッドから呼び出すときは動作していません。このビューを表示するには?デリゲートメソッドから別のビューを表示
クラスA.h
@protocol AViewControllerDelegate<NSObject>
@optional
- (void) tappedImage:(NSNumber*)tag;
@end
クラスA.M
[self dismissModalViewControllerAnimated:YES];
if ([self.delegatee respondsToSelector:@selector(tappedImage:)])
[self.delegatee performSelector:@selector(tappedImage:) withObject: [NSNumber numberWithInt:imageView.tag]];
クラスB.m
- (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が呼ばれ、私はそこのviewDidLoad内で持っているのNSLogを参照してください。しかし、何もiphoneの画面に表示されていない、おそらく新しいビューは古いビューの下にあります。 古いビューの上に新しいビューを設定する方法..?任意の助け
感謝^^