popoverContentSize在iOS 8中没有响应 [英] popoverContentSize not responding in iOS 8
问题描述
我有一段代码如下:
self.popOverController.popoverContentSize = CGSizeMake(248.0,216.0);
这个工作正常iOS 7及以下版本。但是,它不响应iOS 8中的CGSizeMake。无论CGSizeMake()中指定的值是什么,它都采用相同的默认大小。
请回复用另一个代码。
采取两个步骤解决这个问题
第一步:
作为即时修复,您可以设置 preferredContentSize
属性UIViewController
[popoverViewController setPreferredContentSize:CGSizeMake(248.0,216.0)];初始化
UIPopoverController $ c之前
$ C>
UIPopoverController * popoverController = [[UIPopoverController的alloc] initWithContentViewController:popoverViewController];
第二步:
在iOS8中, UIPopoverPresentationController
将作为 UIPopoverController
的替代品推出
如果([popoverViewController respondsToSelector:@selector(popoverPresentationController)]){
popoverViewController .modalPresentationStyle = UIModalPresentationPopover;
[popoverViewController setPreferredContentSize:CGSizeMake(248.0,216.0)];
UIPopoverPresentationController * popoverPresentation = popoverViewController.popoverPresentationController;
[popoverPresentation setSourceView:_sourceView];
[popoverPresentation setSourceRect:_sourceRect];
[popoverPresentation setPermittedArrowDirections:UIPopoverArrowDirectionUp];
[self presentViewController:popoverViewController animated:YES completion:nil];
} else {
//现有代码...
}
截至目前,预发布文档可供进一步参考。
I Have a piece of code which is as follows: self.popOverController.popoverContentSize = CGSizeMake(248.0, 216.0);
This works fine in iOS 7 and below. However, it doesn't respond to CGSizeMake in iOS 8. No matter what the value is specified with in CGSizeMake(), it takes the same default size.
Please reply with an alternative code.
Take two steps to solve this
Step One:
As an immediate fix, you can set preferredContentSize
property of UIViewController
[popoverViewController setPreferredContentSize:CGSizeMake(248.0,216.0)];
before initalizing UIPopoverController
UIPopoverController *popoverController = [[UIPopoverController alloc]initWithContentViewController:popoverViewController];
Step Two:
In iOS8, UIPopoverPresentationController
is getting introduced as a replacement of UIPopoverController
if ([popoverViewController respondsToSelector:@selector(popoverPresentationController)]) { popoverViewController.modalPresentationStyle = UIModalPresentationPopover; [popoverViewController setPreferredContentSize:CGSizeMake(248.0,216.0)]; UIPopoverPresentationController *popoverPresentation = popoverViewController.popoverPresentationController; [popoverPresentation setSourceView:_sourceView]; [popoverPresentation setSourceRect:_sourceRect]; [popoverPresentation setPermittedArrowDirections:UIPopoverArrowDirectionUp]; [self presentViewController:popoverViewController animated:YES completion:nil]; } else { //existing code... }
As of now, pre-release documentation is available for further reference.
这篇关于popoverContentSize在iOS 8中没有响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!