Jam*_*obo 8 objective-c ipad ios
我有一段代码如下:self.popOverController.popoverContentSize = CGSizeMake(248.0,216.0);
这适用于iOS 7及更低版本.但是,它不响应iOS 8中的CGSizeMake.无论CGSizeMake()中指定的值是什么,它都采用相同的默认大小.
请回复替代代码.
采取两个步骤来解决这个问题
第一步:
作为即时修复,您可以设置preferredContentSizeUIViewController的属性
Run Code Online (Sandbox Code Playgroud)[popoverViewController setPreferredContentSize:CGSizeMake(248.0,216.0)];
在初始化之前 UIPopoverController
Run Code Online (Sandbox Code Playgroud)UIPopoverController *popoverController = [[UIPopoverController alloc]initWithContentViewController:popoverViewController];
第二步:
在iOS8中,UIPopoverPresentationController作为替代品被引入UIPopoverController
Run Code Online (Sandbox Code Playgroud)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... }
截至目前,预发布文档可供进一步参考.
| 归档时间: |
|
| 查看次数: |
2522 次 |
| 最近记录: |