-(IBAction)testAlert { NSString *str = [[NSString alloc] initWithFormat:@"Hello, %@",txtField.text]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [str release]; [alert show]; [alert release]; } - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { NSLog(@"%@",@"Ok" ); }
爲了使用ActionSheet我們需要在h文件中實現UIActionSheetDelegate協議。
該方法是ActionSheet消失的時候調用。
@interface HelloHaoMengZhuViewController : UIViewController { UITextField *txtField; UIActivityIndicatorView * myActivityView; IBOutlet UIProgressView *Progress; NSTimer *timer; }
-(IBAction)testActionSheet { NSString *str = [[NSString alloc] initWithFormat:@"Hello, %@",txtField.text]; UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"提示" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"確定" otherButtonTitles:nil]; [str release]; [action showInView:self.view]; [action release]; } - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex { if (buttonIndex == [actionSheet destructiveButtonIndex]) { NSLog(@"%@",@"確定" ); } else if (buttonIndex == [actionSheet cancelButtonIndex]) { NSLog(@"%@",@"取消" ); } }
等待有關的控件有:
UIActivityIndicatorView
UIProgressView
-(IBAction)onClickButton2: (id)sender { if ([myActivityView isAnimating]) { [myActivityView stopAnimating]; } else { [myActivityView startAnimating]; } }
-(IBAction)start{ Progress.progress = 0.0; timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(update) userInfo:nil repeats:YES]; }
NSTimer是可以隱式地啓動一個線程,
scheduledTimerWithTimeInterval指定線程要休眠多少時間調用一次,
-(void)update{ Progress.progress = Progress.progress + 0.1; if (Progress.progress == 1.0) { [timer invalidate]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"任務通知" message:@"波多野結衣.avi 下載完成!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release]; } }
UIProgressView控件的progress屬性是0.0~1.0煩範圍。