作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 float 在表格 View 上的半透明框中显示进度指示器。换句话说,当下载表格内容时,我希望在其上方显示一个“正在更新”标签。
我在商店里的几个应用程序中看到了这一点,特别是 Facebook(当你摇动重新加载时)和 Darkslide。
我的第一个冲动是创建一个半透明的 UIView,在其中放置一个 UILabel 和一个 UIProgressIndicatorView,并将其添加到 View 层次结构中......但是在哪里?
UIView 可能不会与其同级 View 重叠,因此我无法将其设为窗口的 subview 。
我也无法将其设为表格的 subview ,因为这样它将随着表格内容上下滚动。
我想过创建一个新的 UIWindow,但文档基本上说不要。
我知道 CALayer 可以相互重叠,所以这将是一个选项,但我不能在 CALayer 中放置进度指示器,可以吗?我应该滚动自己的进度指示器来动画 CALayer 而不是 UIView 吗?
我对 private APIs 不感兴趣.
编辑:这个问题是基于错误的假设。 NSView(在 Mac OS X 上)可能不会重叠,但 iPhone 上的 UIView 可能会重叠。
最佳答案
我刚刚发布了我的 HUD 版本: https://github.com/y0n3l/LGViewHUD
你可以很容易地得到这个结果:
#import "LGViewHUD.h"
....
LGViewHUD* hud = [LGViewHUD defaultHUD];
hud.activityIndicatorOn=YES;
hud.topText=@"The longer....";
hud.bottomText=@"The better !";
[hud showInView:self.view];
任务结束后,只需调用
[[LGViewHUD defaultHUD] hideWithAnimation:HUDAnimationHideFadeOut];
就是这样!
关于iphone - 如何在 iPhone 上显示进度指示器覆盖/HUD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593147/
我是一名优秀的程序员,十分优秀!