1. 程式人生 > >iOS中自動消失提示框的實現

iOS中自動消失提示框的實現

在實際的應用中,我們常會看到一些應用中當觸發某個事件時,會彈出一個提示框,然後自動消失的效果,其實這種效果的實現是比較簡單的,下面我介紹兩種簡單的方法:
1. 使用UIAlertView來實現,思路是給UIAlertView設定一個延遲時間,然後讓其消失(相當於點選了“取消”按鈕);

2. 自定義一個動畫效果,使用一個UILabel ,並對UILabel 設定一個動畫效果。下面來看程式碼

第一種: // 宣告一個UIAlertView UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"使用者名稱已存在" delegate:self cancelButtonTitle:nil otherButtonTitles:nil, nil]; // 顯示 UIAlertView [alert show]; // 新增延遲時間為 1.0 秒 然後執行 dismiss: 方法 [self performSelector:@selector(dismiss
:) withObject:alert afterDelay:1.0];實現dismiss:方法:- (void)dismiss:(UIAlertView *)alert{ // 此處即相當於點選了 cancel 按鈕 [alert dismissWithClickedButtonIndex:[alert cancelButtonIndex] animated:YES];}第二種: // 宣告一個 UILabel 物件 UILabel * tipLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 225, 120, 30)]; // 設定提示內容 [tipLabel setText:@"選擇什麼呢!"]; tipLabel.backgroundColor = [UIColor blackColor]; tipLabel.layer.cornerRadius = 5; tipLabel.layer.masksToBounds = YES; tipLabel.textAlignment = NSTextAlignmentCenter; tipLabel.textColor = [UIColor whiteColor]; [self.view addSubview:tipLabel]; // 設定時間和動畫效果 [UIView animateWithDuration:2.0 animations:^{ tipLabel.alpha = 0.0; } completion:^(BOOL finished) { // 動畫完畢從父檢視移除 [tipLabel removeFromSuperview]; }];