【发布时间】:2015-02-11 21:15:45
【问题描述】:
在 ios7 中,我可以在 iPad 上毫无问题地呈现 popovercontroller,但在 ios8 it doesn't work 中。我已经在谷歌和这里搜索了解决方案,但没有一个有效。这是我为 ios8 更改的代码:
privateChat = [[PrivateChatViewController alloc] initWithNibName:@"PrivateChatViewController" bundle:nil];
privateChat.delegate = self;
popoverController = [[UIPopoverController alloc] initWithContentViewController:privateChat];
[popoverController setDelegate:self];
//work in ios7
//[popoverController setPopoverContentSize:CGSizeMake(privateChat.view.frame.size.width,privateChat.view.frame.size.height) animated:YES];
//[popoverController presentPopoverFromRect:self.frame inView:self.superview permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
//为ios8编辑,但不起作用
privateChat.preferredContentSize = CGSizeMake([privateChat.view.superview superview].frame.size.width,[privateChat.view.superview superview].frame.size.height) ;
[popoverController setPopoverContentSize: privateChat.preferredContentSize animated:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[popoverController presentPopoverFromRect:self.frame inView:[self.view.superview] permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
});
它在 ios8 中不起作用,也没有崩溃。我应该更改或添加什么以使其正常工作?
【问题讨论】:
-
你的电话有一些不同,首先你在
self.superview和第二个self.view.superview上显示popover
标签: ios ipad ios8 xcode6 uipopovercontroller