gpt4 book ai didi

ios - popoverContentSize 在 iOS 8 中没有响应

转载 作者:可可西里 更新时间:2023-11-01 03:09:27 26 4
gpt4 key购买 nike

我有一段代码如下:self.popOverController.popoverContentSize = CGSizeMake(248.0, 216.0);

这在 iOS 7 及以下版本中工作正常。但是,它不会响应 iOS 8 中的 CGSizeMake。无论在 CGSizeMake() 中指定什么值,它都采用相同的默认大小。

请用替代代码回复。

最佳答案

分两步解决

第一步:

作为即时修复,您可以设置 UIViewController 的 preferredContentSize 属性

[popoverViewController setPreferredContentSize:CGSizeMake(248.0,216.0)]; 

在初始化 UIPopoverController 之前

UIPopoverController *popoverController = [[UIPopoverController alloc]initWithContentViewController:popoverViewController];

第二步:

在 iOS8 中,UIPopoverPresentationController 被引入以替代 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...
}

截至目前,pre-release documentation可供进一步引用。

关于ios - popoverContentSize 在 iOS 8 中没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com