不需要的边距UIPopoverController

时间:2015-06-24 09:47:51

标签: ios8 uipopovercontroller

当我在视图中显示我的弹出框并将其放在视图的侧面时。总是有一小部分,导致弹出不会粘在一边。

UIViewController *vc =  [self getViewController:@"popover" fromStoryboard:@"Main"];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:vc];
[popover presentPopoverFromRect:CGRectMake(1100, 0, -65, 65)
                              inView:self.view
            permittedArrowDirections:UIPopoverArrowDirectionUp
                       animated:YES];
[vc setPreferredContentSize:CGSizeMake(300, 300)];

Example in simulator

如何阻止此边距并显示我的弹出窗口贴在视图的一侧?

由于

1 个答案:

答案 0 :(得分:3)

我通过添加自己的UIPopoverBackgroundView实现修复了这个问题,我设置了自己的内容视图插件。

+ (UIEdgeInsets)contentViewInsets {
    return UIEdgeInsetsMake(-10, -10, -10, -10);
}

并将此backgroundview添加到我的popovercontroller

[self.popover setPopoverBackgroundViewClass:[MyPopoverBackgroundView class]];