当一些长期待处理操作正在进行时,如何创建许多应用程序使用的黑/灰模式弹出窗口视图?
就像使用基于位置的服务,加载网页一样,屏幕变暗,并且有一个模态视图显示旋转图标"请稍候......"
以下屏幕截图中的示例:
这实际上是无证件(无论如何在2.2.1中)UIProgressHUD.像这样创建一个:
在你的.h:
@interface UIProgressHUD : NSObject - (UIProgressHUD *) initWithWindow: (UIView*)aWindow; - (void) show: (BOOL)aShow; - (void) setText: (NSString*)aText; @end
在你的.m:
- (void) killHUD: (id)aHUD { [aHUD show:NO]; [aHUD release]; } - (void) presentSheet { id HUD = [[UIProgressHUD alloc] initWithWindow:[contentView superview]]; [HUD setText:@"Doing something slow. Please wait."]; [HUD show:YES]; [self performSelector:@selector(killHUD:) withObject:HUD afterDelay:5.0]; }
如果你想避免未记录的api,你也可以看看MBProgressHUD.它与UIProgressHUD类似,甚至还有一些额外的功能.
我认为最简单的(几行代码),完全记录和最美的方式是使用带有UIActivityIndicatorView的UIAlertView:
http://iosdevelopertips.com/user-interface/uialertview-without-buttons-please-wait-dialog.html
UIAlertView与UIActivityIndicatorView http://iosdevelopertips.com/wp-content/uploads/2010/02/alert3-204x300.png