Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c [UIAlertView show]是如何工作的?_Objective C_Uialertview - Fatal编程技术网

Objective c [UIAlertView show]是如何工作的?

Objective c [UIAlertView show]是如何工作的?,objective-c,uialertview,Objective C,Uialertview,我想做一些类似于UIAlertView的事情,即在不参考任何UIView或UIViewController的情况下,使用presentModalViewController在所有窗口的顶部显示UIViewController 查看文档,我找不到实现这一点的方法 在OS4中,有如下内容: UIWindow *window = [UIApplication sharedApplication].keyWindow UIViewController *rootViewController = wind

我想做一些类似于UIAlertView的事情,即在不参考任何UIView或UIViewController的情况下,使用presentModalViewController在所有窗口的顶部显示UIViewController

查看文档,我找不到实现这一点的方法

在OS4中,有如下内容:

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
?是单身吗?