只是一个简单的问题
目前我提出了这样的模态视图:
+ (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内容的值。我还传递了UIViewController的值,它将呈现模式。
就代码而言,我想知道内容类中的“vc”名称,如果可以的话。
修改
假设我有2个类,一个名为 DetailViewController ,其中将显示模态。另一个叫做 ModalContentViewController 。
我想知道 ModalContentViewController 类(当视图出现或加载时) DetailViewController 的名称。
有什么想法吗?
PD:目前正在使用......
XCode 4.4.1 iPad模拟器iOS5.1 iOS5.1
答案 0 :(得分:3)
查找UIViewController
属性presentingViewController
。以下是文档的引用:
如果显示收到此消息的视图控制器 另一个视图控制器,此属性保存视图控制器 正在呈现它。如果没有呈现视图控制器,而是其中之一 它的祖先正在呈现,这个属性持有的观点 控制器呈现最近的祖先。如果既不是观点 控制器或其任何祖先都被提出,这个属性 没有。
因此,您可以使用该属性来获取VC的名称。
答案 1 :(得分:2)
您可以使用NSStringFromClass(vc.class)
将类名称设为NSString
。