0

私のアプリでは、モーダル ビューを使用して写真を追加できます。モーダル ビューが閉じられたときに、タブ バー コントローラーを 2 番目のタブ (フォト ビューアー画面) に自動的に切り替えたいと考えています。

プログラムでタブを切り替える方法に関するこの回答を見つけましたが、このコードをモーダルビューコントローラーのどこに配置すればよいかわかりません。

4

1 に答える 1

3

デリゲート プロトコルを作成し、モーダルに表示される viewController にデリゲート プロパティを割り当てると、写真を撮った後に、dismissModalViewControllerAnimated を呼び出そうとしているときにデリゲートに通知することができます。

編集:実装に関する情報を追加しました

モーダルに表示するビュー コントローラー クラスで、プロトコルを宣言します。

@protocol YourUIViewControllerSubclassDelegate;

次に、クラスにプロパティを追加します。

@property (nonatomic, unsafe_unretained)id <YourUIViewControllerSubclassDelegate>delegate;

最後に、クラス インターフェイス宣言で @end を呼び出した後、プロトコルを完成させます。

@protocol YourUIViewControllerSubclassDelegate <NSObject>
- (void)viewController:(YourViewControllerSubclass *)viewController isBeingDismissedWithImage:(BOOL)imageTaken;
@end

したがって、YourUIViewControllerSubclass 内で、dismissModalViewControllerAnimated を呼び出す前に、次のようにします。

[self.delegate viewController:self isBeingDismissedWithImage:YES or NO]; 

そのため、YourUIViewControllerSubclass を作成するときに、delegate プロパティを割り当てる必要があります。YourUIViewControllerSubclass のデリゲートはだれでも、YourUIViewControllerSubclassDelegate プロトコルに準拠し、プロトコル メソッドを実装する必要があります。このプロトコル メソッドの実装内で、切り替えたいタブに切り替えます。

于 2012-08-29T15:46:26.297 に答える