我用下面的代码介绍了一个在UI对象上包含UIViewController的UINavigationController
drawController = [[DrawImageViewController alloc] initWithNibName:nil bundle:nil];
[drawController setDrawControllerDelegateObject:self];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:drawController];
[self presentModalViewController:nav animated:YES];
[nav release];
但是当第二次调用上面的代码之前,我想知道当前出现在屏幕上的 View Controller 是否是drawController。我正在使用以下代码
if (drawController && [drawController isBeingPresented])
但是它不适用于我,它也适用于iOS 5.0,所以我被困在这里。请帮助我知道我应该如何知道当前出现在屏幕上的UIViewController是哪个类的,并且drawContoller是否仍显示在屏幕上?如果有我的错字,很抱歉。任何帮助将不胜感激。
感谢Neha Mehta
最佳答案
不是最漂亮的代码,但这应该可以工作:
if ([self.presentedViewController isKindOfClass:[UINavigationController class]] &&
((UINavigationController *)self.presentedViewController).topViewController == drawController) {
…