objective-c - 如何显示基于 UIWindow 的暗色背景,如 UIAlertView?

标签 objective-c ios background uialertview uiwindow

这是我的问题:我试图显示一个带有 subview 的 UIWindow,该 subview 显示径向渐变。我想把窗口放在 UIWindowLevelAlert 上。我之前已经弄清楚了这一切并且它正在工作,但现在我试图重现它浪费时间......
这是我得到的代码(背景不是渐变,因为我想保持简单,然后添加一个真正类似于 UIAlertView 的 View ):

- (IBAction)buttonPressed {
UIWindow *backgroundWindow = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
backgroundWindow.windowLevel = UIWindowLevelAlert;
UIView *backgroundView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
backgroundView.backgroundColor = [UIColor blackColor];
backgroundView.alpha = 0.5;
[backgroundWindow makeKeyAndVisible];
[backgroundWindow addSubview:backgroundView];
backgroundWindow.hidden = NO;

}

最佳答案

当 UIWindow 被释放时,它将从屏幕上移除。由于您没有保留对 UIWindow 的引用,我相信它会被释放并释放,因此它不会显示。

解决方案是在某处保留对窗口的引用。您可以将其作为属性存储在您正在工作的类(class)中吗?

关于objective-c - 如何显示基于 UIWindow 的暗色背景,如 UIAlertView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11874570/

相关文章:

ios - 在 Objective-C 上设置电子邮件标题?

objective-c - Objective C 中项目的 “Swift Language Version” (SWIFT_VERSION) build设置错误

ios - 如何通过 UITableViewRowAction swift 使用 inputview

css - Chrome 背景图像 "Bleeds"应用了 CSS 缩放变换的边缘

c# - 如何将背景图像添加到 Windows Phone 全景应用程序

ios - 在 Objective-C 中设置日期格式

objective-c - 浮点比较的最大绝对误差是多少?

ios - 将配置更改推送到 iOS 应用程序

ios - iPhone - UILabel 留在 UITableViewCell 之外

css - 更改屏幕尺寸时背景变小,div 相互重叠