2

簡単な質問です

現在、私は次のようなモーダルビューを提示しています:

+ (void)showModalController:(id)ContentController InViewController:(UIViewController*)vc withFrame:(CGRect)rect{

UINavigationController *modalViewNavController = [[UINavigationController alloc] initWithRootViewController:ContentController];
modalViewNavController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
modalViewNavController.modalPresentationStyle = UIModalPresentationFormSheet;

[vc presentModalViewController:modalViewNavController animated:YES];

//it's important to do this after presentModalViewController
modalViewNavController.view.superview.frame = rect;

//self.view assumes the base view is doing the launching, if not you might need self.view.superview.center etc.
modalViewNavController.view.superview.center = vc.view.center;

[modalViewNavController release];

}

表示される UIViewController Content の値を、カスタム モーダル サイズで渡します。また、モーダルが表示される UIViewController の値も渡します。

コード的には、できればコンテンツクラスの「vc」の名前を知りたいです。

編集

2 つのクラスがあるとしましょう。1 つはモーダルが表示されるDetailViewControllerと呼ばれます。もう 1 つはModalContentViewControllerと呼ばれます。

ModalContentViewControllerクラス (ビューが表示されるとき、または読み込まれるとき) でDetailViewControllerの名前を知りたいです。

何か案は?

PD: 現在使用している...

XCode 4.4.1 iPad シミュレーター iOS5.1 iOS5.1

4

2 に答える 2

3

UIViewControllerプロパティを探しますpresentingViewController。ドキュメントからの引用は次のとおりです。

このメッセージを受信したViewControllerが別のViewControllerによって提示された場合、このプロパティはそれを提示しているViewControllerを保持します。ビューコントローラが表示されていないが、その祖先の1つが表示されている場合、このプロパティは、最も近い祖先を表示しているビューコントローラを保持します。ビューコントローラもその祖先も表示されていない場合、このプロパティはnilを保持します。

したがって、そのプロパティを使用して、提示しているVCの名前を取得できます。

于 2013-01-05T00:42:23.880 に答える
2

NSStringFromClass(vc.class)クラス名を として取得するために使用できますNSString

于 2013-01-05T00:48:19.097 に答える