2009-02-27 49 views
64

活動指示器視圖在許多應用程序中很有用。 關於如何在iPhone上添加,激活和解除活動指示器視圖的任何想法?如何在iPhone上使用活動指示器視圖?

這裏的所有方法都歡迎在這裏。

+0

我發現[MBProgressHUD](https://github.com/jdg/MBProgressHUD),它提供了一個不錯的模式指示器。這很容易實現。 – foz 2011-01-13 21:08:38

回答

121

創建:

spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)]; // I do this because I'm in landscape mode 
[self.view addSubview:spinner]; // spinner is not visible until started 

開始:

[spinner startAnimating]; 

停止:

[spinner stopAnimating]; 

當您終於完成時,從視圖中刪除微調器並釋放。

7

關於此的文檔非常清晰。這是一個UIView子類,因此您可以像使用其他視圖一樣使用它。開始/停止使用的動畫

[activityIndicator startAnimating]; 
[activityIndicator stopAnimating]; 
10

看看開放源代碼的WordPress應用程序。他們有一個非常可重用的窗口,用於顯示應用程序當前顯示的任何視圖頂部的「正在進行的活動」類型顯示。

http://iphone.trac.wordpress.org/browser/trunk

你想要的文件有:

  • WPActivityIndi​​cator.xib
  • RoundedRectBlack.png
  • WPActivityIndi​​cator.h
  • WPActivityIndi​​cator.m

然後要顯示它使用類似:

[[WPActivityIndicator sharedActivityIndicator] show]; 

並與隱藏:

[[WPActivityIndicator sharedActivityIndicator] hide]; 
+2

謝謝,我正在尋找的也是。請注意,WPActivityIndi​​cator已被重命名(並重構)爲WPProgressHUD(請參閱http://iphone.trac.wordpress.org/browser/trunk/Classes/WPProgressHUD.h)。 – 2009-07-19 06:00:27

+0

sharedActivityIndi​​cator在您的鏈接中找不到類methos方法。 – 2012-09-19 06:41:40

9

的問候:

看看開源WordPress應用。他們有一個非常可重用的窗口,用於顯示應用程序當前顯示的任何視圖頂部的「正在進行的活動」類型顯示。

請注意,如果您確實使用此代碼,您必須將所有源代碼提供給您自己的應用程序給任何請求它的用戶。您需要意識到他們可能決定重新包裝您的代碼並將其在商店中出售。這一切都是在GNU通用公共許可證(GPL)的條款下提供的。

如果你不想被迫打開你的源代碼,那麼你不能使用wordpress iphone應用程序中的任何東西,包括引用的活動進度窗口,而不會強制GPL應用到你自己的應用程序中。

1

我認爲你應該使用隱藏更好。

activityIndicator.hidden = YES 
2

使用Storyboard-

Create-

  • 轉到main.storyboard(這可以在theProject導航發現您的Xcode的左側)並從對象庫中拖放「活動指示器視圖」。

Activity Indicator View from Object Library

  • 轉到頭文件,並創建一個IBOutlet爲UIActivityIndi​​catorView-

    @interface ViewController : UIViewController 
    
        @property (nonatomic,strong) IBOutlet UIActivityIndicatorView *activityIndicatorView; 
    
    @end 
    
  • 建立從奧特萊斯到UIActivityIndi​​catorView的連接。

開始:

使用下面的代碼時,你需要在實現文件中使用下面的代碼來啓動活動的指標(.M) -

[self.activityIndicatorView startAnimating]; 

停止:

當需要使用followi停止活動指示器時,請使用以下代碼在實現文件NG代碼(.M) -

[self.activityIndicatorView stopAnimating]; 
0

活動指示燈2秒顯示,進入下一頁

@property(strong,nonatomic)IBOutlet UIActivityIndicator *activityindctr; 

-(void)viewDidload { [super viewDidload];[activityindctr startanimating]; [self performSelector:@selector(nextpage) withObject:nil afterDelay:2];} 

-(void)nextpage{ [activityindctr stopAnimating]; [self performSegueWithIdentifier:@"nextviewcintroller" sender:self];} 
0
- (IBAction)toggleSpinner:(id)sender 
{ 
    if (self.spinner.isAnimating) 
    { 
     [self.spinner stopAnimating]; 
     ((UIButton *)sender).titleLabel.text = @"Start spinning"; 
     [self.controlState setValue:[NSNumber numberWithBool:NO] forKey:@"SpinnerAnimatingState"]; 
    } 
    else 
    { 
     [self.spinner startAnimating]; 
     ((UIButton *)sender).titleLabel.text = @"Stop spinning"; 
     [self.controlState setValue:[NSNumber numberWithBool:YES] forKey:@"SpinnerAnimatingState"]; 
    } 
}