gpt4 book ai didi

objective-c - 如何将变暗的背景添加到自定义 UIPopoverBackgroundView

转载 作者:太空狗 更新时间:2023-10-30 03:48:55 26 4
gpt4 key购买 nike

我正在通过子类化 UIPopoverBackgroundView(使用此 tutorial)并使用 UIPopoverController 呈现它来制作自定义弹出窗口。不幸的是,一旦我指定自定义 popoverBackgroundViewClass, native 变暗的背景就会消失。使用自定义 UIPopoverBackgroundView 时,有什么方法可以让背景变暗吗?我可以用来模拟 native 行为的任何其他解决方案吗?

最佳答案

不确定为什么这会被否决,这是一个很好的问题,因为当您实现自定义 UIPopoverBackgroundView 时,不会设置变暗的背景。在研究这个问题时,我确定最好的方法是自己设置!

就在创建弹出 View 之前,我创建了一个“掩码 View ”,它将添加到弹出 View 之前的 View 中。此代码还包括一个很好的淡入淡出效果:

self.customPopoverMaskView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
self.customPopoverMaskView.backgroundColor = [UIColor blackColor];
self.customPopoverMaskView.alpha = 0.3f;

[UIView transitionWithView:self.view
duration:0.3
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^ {
[self.view addSubview:self.customPopoverMaskView];
}
completion:nil];

要删除 View ,请将其插入处理弹出 View 消失的方法:

[UIView transitionWithView:self.view
duration:0.3
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^ {
[self.customPopoverMaskView removeFromSuperview];
}
completion:nil];

对我来说效果很好。编码愉快!

亚伦

关于objective-c - 如何将变暗的背景添加到自定义 UIPopoverBackgroundView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21167466/

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