iOS 8中的popover全屏

时间:2015-01-09 07:30:07

标签: ios uipopovercontroller

我有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] ;

2 个答案:

答案 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