我想创建一个视图(UIControl)来阻止所有输入,并在验证用户时显示UIActivityIndicatorView.
UIActionSheet和UIAlertView都设法在所有其他视图的顶部添加黑色半透明视图来阻止输入,我想做类似的事情.
我已经尝试将我的视图添加到[[UIApplication sharedApplication] windows]数组中的顶部UIWindow,虽然它确实将它放在UIKeyboard上方(如果它可见),但它不会将它放在StatusBar上(这是有道理的).
我的下一次尝试是扩展UIAlertView,删除其所有子视图并设置其layer.contents = nil,然后将ActivityIndicator添加为子视图.这很好用,但是当你把它称为"show"时,我似乎无法杀死UIAlertView的默认弹跳过渡.
有没有人有任何指针解决这个问题的最佳方法,让我完全控制?
哦,我知道阻塞输入不是很好,但我确保它在短时间内完成并且它的好处是让用户清楚地知道他们必须完成的动作正在处理.
我想在iPhone应用程序中实现一些自定义,可重用和高效的滚动行为,所以我使用自定义控件扩展UIScrollView并希望跟踪滚动运动.
现在我知道我可以将我的自定义控件分配为UIScrollViewDelegate并在内部响应scrollViewDidScroll调用,但这对我来说感觉不对(我可能错了).
它感觉不正确,因为委托针对特定于应用程序的UI逻辑,控件应该高于此级别.这也意味着如果应用程序类将自己指定为委托,那么我需要中继委托调用,这似乎效率低下.
作为UIScrollView的直接后代,我希望能够覆盖触发scrollViewDidScroll委托调用的方法,或者可以访问模板方法,或者监听滚动事件,但我看不到任何这样的选项.
看看UITableView.h文件,UITableView似乎没有将自己设置为UISCrollViewDelegate,所以我想知道它是如何管理它的(我假设它回收单元格它必须跟踪它们相对于可见边界的位置).
我对这个平台很陌生,所以我可能会遗漏一些明显的东西.任何帮助赞赏.