我想创建一个视图(UIControl),它阻止所有输入并在验证用户时显示UIActivityIndicatorView。添加UIView以上所有其他视图,包括状态栏
UIActionSheet和UIAlertView都管理添加一个黑色的半透明的视图顶部的所有其他视图来阻止输入,我想做类似的事情。我已经尝试在[[UIApplication sharedApplication]窗口]数组中添加我的视图到顶层的UIWindow,虽然这确实将它放在UIKeyboard的上方(如果它是可见的),但它不会将它放在StatusBar上说得通)。
我的下一个尝试是扩展UIAlertView,删除它的所有子视图并设置其layer.contents = nil,然后将ActivityIndicator添加为子视图。这个效果很好,但是当你把它叫做“show”时,我似乎无法杀掉UIAlertView的默认弹性转换。
有没有人有最好的方式解决这个问题,让我完全控制的任何指针?
哦,我知道阻塞输入并不是很好,但我确实确保它很短的时间,它的好处是让用户明白他们的动作必须完成以便进行处理。
为什么“隐藏”状态栏?为什么不把它藏起来,是半透明的,还是完全忽略它?如果我记得正确,状态栏不响应触摸。 – 2010-04-19 14:29:06
我希望它看起来像是在重叠视图下。这使用户清楚他们目前无法互动。不幸的是,让它变成半透明的,隐藏起来看起来很奇怪,如果只是在认证期间。 它确实响应触摸。默认是将活动的UIScrollView滚动到顶部。 – 2010-04-19 22:16:18