首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAlertView类UIWindow

UIAlertView类UIWindow
EN

Stack Overflow用户
提问于 2015-01-12 21:55:11
回答 2查看 706关注 0票数 0

我想做一些自定义警报视图-基本上相同的功能,但不同的外观。据我所知,UIAlertView正在一个单独的窗口中显示。我可以创建一个窗口,将视图放入其中并显示它,但是如果没有对UIWindow对象的强引用,它就会在函数返回后消失。另一方面,可能没有对UIAlertView的强烈引用,但它不会在显示之后消失。如何在警报窗口中实现相同的行为?

代码语言:javascript
复制
// create a new window
UIWindow *alertWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
alertWindow.windowLevel = UIWindowLevelAlert;

UIToolbar *background = [[UIToolbar alloc] initWithFrame:alertWindow.frame];
background.barStyle = UIBarStyleBlack;
background.translucent = YES;
[alertWindow addSubview:background];

[alertWindow addSubview:contentView];    
[alertWindow makeKeyAndVisible];
EN

回答 2

Stack Overflow用户

发布于 2015-01-12 23:15:34

你真的能看到这个alertWindow吗?因为我不能在屏幕上看到它,除非我在当前的[self.view addSubview:alertWindow];上也调用了ViewController。

第二件事:,如果您需要与UIAlertView相同的功能,只需子类它。

第三件事:如果您需要更多可自定义的UIAlertView,则使用,而不是使用自定义UIView进行定制。您可以使用委托或如果愿意的话,在任何UIViewController上显示此警报,或者使用NSNotificationCenter。

票数 0
EN

Stack Overflow用户

发布于 2015-01-13 00:41:46

我可以创建一个窗口,将视图放入其中并显示它,但是如果没有对UIWindow对象的强引用,它就会在函数返回后消失。

你或多或少地回答你自己的问题。确保有一个强有力的引用窗口。

UIAlertView的内部结构是相当复杂的,但是有一个单独的人可以同时保存警报和窗口,每一个警报都会产生对该单例的调用,所以您也可以这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27911398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档