这里的一个菜鸟问题:
任何想法为什么这个代码:
UIViewController* popoverviewController = [[UIViewController alloc]init];
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[webViewnetwork loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"webView" ofType:@"html"]isDirectory:NO]]];
[popoverView addSubview:webViewnetwork];
popoverviewController.view = popoverView;
popoverviewController.contentSizeForViewInPopover = CGSizeMake (100, 100);
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverviewController];
[self.popoverController presentPopoverFromRect:CGRectMake(0, 0, 1, 1) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
在iPad上运行良好,但在iPhone上崩溃了吗? 我正在尝试做与我的iPad版本相同的事情,即添加带有html格式文本的子视图。它在第7行崩溃(程序接收信号:SIGABRT)(initWithContentViewController)
谢谢你!答案 0 :(得分:6)
因为UIPopoverController
仅适用于iPad。
答案 1 :(得分:1)
你不能在iPhone上使用UIPopoverController。 U需要检测您正在使用哪个设备习惯用法,并在运行时显示相应的viewController类型。
项目here提供了一些示例。它的基本要点如下:
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
/* use iPhone related viewController via either presentModal or via UIViewController containment */
}else{
/* Using an iPad use a popoverController */
}
祝你好运。