我有UIPopoverController
的以下代码。它在iOS 7中运行良好。但是,在iOS 8中,popover变为全屏我不想要。如何防止popover在iOS8中填满整个屏幕?
CGRect buttonFrame = [[[[[self tabBarController] tabBar] subviews] objectAtIndex:index+1] frame];
popover = [[UIPopoverController alloc]initWithContentViewController:viewmapmenu] ;
popover.popoverContentSize = CGSizeMake(95, 128.0) ;
popover.delegate = self ;
[popover presentPopoverFromRect:buttonFrame inView:self.tabBarController.tabBar permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES] ;
答案 0 :(得分:2)
尝试添加此委托方法。
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller;{
return UIModalPresentationNone;
}
答案 1 :(得分:1)
看,这是情况。如果你在iPhone上展示popover,那么它将无法在iOS 8中运行,因为Apple已完全限制它,即使它之前正在运行。现在你无法在iPhone中显示popover,因为阻止了对UIPopover私有方法的所有访问。
您可以在github中查看FPopover库以在iPhone中使用popover: - https://github.com/50pixels/FPPopover