gpt4 book ai didi

ios - UIView 作为弹出景观自动布局问题

转载 作者:行者123 更新时间:2023-11-29 00:41:15 24 4
gpt4 key购买 nike

我创建了一个简单的弹出窗口,但问题是当我尝试景观该弹出窗口时它无法正常工作

注意:我正在使用自动布局

这是我的代码

mpop = [[MPopUp alloc] init];
mpop.frame = CGRectMake(((self.view.frame.size.width) -
mpop.frame.size.width) / 2,
((self.view.frame.size.height) -
mpop.frame.size.height) / 2,
mpop.frame.size.width,
mpop.frame.size.height);

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0,
0,
self.view.frame.size.width,
self.view.frame.size.height)];

mpop.overlay = newView;

UIVisualEffect *blurEffect;
blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];

UIVisualEffectView *visualEffectView;
visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
visualEffectView.backgroundColor = [UIColor blackColor];
visualEffectView.alpha = 0.4;
visualEffectView.frame = newView.bounds;
[newView addSubview:visualEffectView];

newView.translatesAutoresizingMaskIntoConstraints = NO;


[self.view addSubview:newView];
[mpop showInView:self.view animated:YES];

它在纵向模式下工作正常,但在横向模式下无法工作,有人可以帮助我吗?

最佳答案

您需要针对这种情况添加自动布局约束。我已将代码添加到您的示例中,并发布在 GitHub 上供您引用。在下面的链接中找到它。我必须在 View Controller .m 文件和 view.m 文件这两个文件中添加代码。

https://github.com/mahesh-agrawal/Autolayout-Popup

通过运行它来检查。如果您想让宽度或高度动态化,您可以使用如下计算替换硬编码值。

[[UIScreen mainScreen] 边界].size.width * (290.0/320.0) 而不是 290.0

关于ios - UIView 作为弹出景观自动布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39462601/

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