Objective c [UIAlertView show]是如何工作的?
我想做一些类似于UIAlertView的事情,即在不参考任何UIView或UIViewController的情况下,使用presentModalViewController在所有窗口的顶部显示UIViewController 查看文档,我找不到实现这一点的方法 在OS4中,有如下内容:Objective c [UIAlertView show]是如何工作的?,objective-c,uialertview,Objective C,Uialertview,我想做一些类似于UIAlertView的事情,即在不参考任何UIView或UIViewController的情况下,使用presentModalViewController在所有窗口的顶部显示UIViewController 查看文档,我找不到实现这一点的方法 在OS4中,有如下内容: UIWindow *window = [UIApplication sharedApplication].keyWindow UIViewController *rootViewController = wind
UIWindow *window = [UIApplication sharedApplication].keyWindow
UIViewController *rootViewController = window.rootViewController
…但这在OS3中是不可能的
有人知道如何在OS3中实现同样的效果吗
谢谢
好的-所以我通过无数次对ViewController本身的代理回调解决了这个问题!虽然这是实现这一点的正确方法,但看起来确实有点奇怪,在执行的任何阶段都不可能获得俯视图控制器的警报句柄(等等)
如果有人知道如何做到这一点,我仍然非常感兴趣
UIAlertView
在应用程序的主窗口上方创建自己的UIWindow
,makeKeyAndVisible
-s,并在该窗口中的自己视图中设置动画。啊,大开眼界!谢谢你!NickWhat/谁保留UIWindow实例?当我创建UIWindow的实例但不将其保留为实例变量/属性时,它不会出现,而且似乎会从[[UIApplication sharedApplication]windows]
数组中删除。我遗漏了什么吗?好吧,为了创建一个类似于UIAlertView的覆盖,我创建了一个retain循环,使我的UIWindow子类有效地保留了自己。我将self
赋值给一个强属性,然后在我的disclose方法中将该属性设置为nil。似乎有效,这是个坏主意吗?我假设UIAlertView也有类似的功能。@ChrisWagner是个坏主意。内部有一个处理这些问题的\u UIAlertManager
。当您调用show
和hide
时,它负责创建窗口、保留窗口并负责释放窗口。谁保留\u UIAlertManager
?是单身吗?