关于设置 UIPopoverController.popoverContentSize 大小的坑

在 IOS 8 中,这样设置是没有问题的,但是在 IOS 7 中,这样的设置就会出现问题了,,无论你怎样设置,popover 出来的内容框大小依然是默认的大小。

_popoverController = [[UIPopoverController alloc] initWithContentViewController:_contentViewController];_popoverController.delegate = self;_contentViewController.preferredContentSize = _contentViewController.view.bounds.size;[_popoverController presentPopoverFromRect:position inView:view permittedArrowDirections:UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown animated:YES];

查了一下资料,在 IOS 7 中需要把

_contentViewController.preferredContentSize = _contentViewController.view.bounds.size;

提前到

_popoverController = [[UIPopoverController alloc] initWithContentViewController:_contentViewController];

之前。这样,设置 popover 的大小就能成功生效。

关于popoverContentSize 大小的问题,stackoverflow 的参考如下:

Take two steps to solve this

Step One:

As an immediate fix, you can setpreferredContentSizeproperty of UIViewController

before initalizingUIPopoverController

Step Two:

In iOS8,UIPopoverPresentationControlleris getting introduced as a replacement ofUIPopoverController

popoverViewController//existing code…}

As of now,pre-release documentationis available for further reference.

参考链接:

人性最可怜的就是:我们总是梦想着天边的一座奇妙的玫瑰园,

关于设置 UIPopoverController.popoverContentSize 大小的坑

相关文章:

你感兴趣的文章:

标签云: