本文介紹基本的建構Activity Indicator的方法,這是用來讓使用者只到程式正在處理中,以避免使用者一直按執行,造成當機的情況。
這邊介紹的建構法,是使用程式碼去加入indicator,之後會介紹用物件元件庫去拉到畫面中。
首先,先說明一下要做些什麼。因為這個元件本身是執行程式之後才會顯示,所以這邊會需要做一個按鈕,按下去之後會出現indicator,再按一次會取消掉這個indicator。
你可以開一個新專案,一樣是Single-View Application,然後從元件庫拉一個UIButton到手機畫面上,更改按鈕內文字為你喜歡的,我是改成“顯示”。然後在View Controller裡面建立按鈕的IBAction,名稱為showIndicator。
然後到UIViewController.h裡面,宣佈一個instance variable,此時你的表頭檔應該為:
@interface ViewController : UIViewController{
UIActivityIndicatorView *indicator;
}
- (IBAction)showIndicator:(id)sender;
@end
然後到實作檔中寫下以下code:
-(void) createIndicator {
indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectZero];
[indicator setCenter:CGPointMake(160.0f, 208.0f)];
[indicator setHidesWhenStopped:YES];
[indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[self.view addSubview:indicator];
}
-(IBAction)showIndicator:(id)sender {
if (indicator == nil) {
[self createIndicator];
}
if ([indicator isAnimating]) {
[indicator stopAnimating];
}else{
[indicator startAnimating];
}
}
第一個方法是建立indicator的方法,很簡單,裡面有一個是View Style,可以控制indicator的顯示方式。
第二個方法,當你按下按鈕,它首先檢查indicator做了沒,若沒做就呼叫第一個方法去做,做了的話,再看看是不是在播放中,如果有的話就關掉,如果沒在播放,就開始播放。
就這麼簡單,執行看看吧!
這邊的做法類似,首先在手機畫面,把UIActivityIndicatorView拉到手機上,然後把Activity Indicator View裡面的Behavior的Hides When Stopped給勾選,這樣的話當動畫停止時,該元件才會隱藏。然後把這在view controller裡面建立一個Outlet,命名為indicator。
然後再拉一個按鈕進去,跟上面一樣。
然後在實作檔裡面寫:
- (IBAction)showIndicator:(id)sender {
if ([indicator isAnimating]) {
[indicator stopAnimating];
}else{
[indicator startAnimating];
}
}
這樣就完成了!
這邊介紹的建構法,是使用程式碼去加入indicator,之後會介紹用物件元件庫去拉到畫面中。
使用程式碼建立
首先,先說明一下要做些什麼。因為這個元件本身是執行程式之後才會顯示,所以這邊會需要做一個按鈕,按下去之後會出現indicator,再按一次會取消掉這個indicator。
你可以開一個新專案,一樣是Single-View Application,然後從元件庫拉一個UIButton到手機畫面上,更改按鈕內文字為你喜歡的,我是改成“顯示”。然後在View Controller裡面建立按鈕的IBAction,名稱為showIndicator。
然後到UIViewController.h裡面,宣佈一個instance variable,此時你的表頭檔應該為:
@interface ViewController : UIViewController{
UIActivityIndicatorView *indicator;
}
- (IBAction)showIndicator:(id)sender;
@end
然後到實作檔中寫下以下code:
-(void) createIndicator {
indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectZero];
[indicator setCenter:CGPointMake(160.0f, 208.0f)];
[indicator setHidesWhenStopped:YES];
[indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[self.view addSubview:indicator];
}
-(IBAction)showIndicator:(id)sender {
if (indicator == nil) {
[self createIndicator];
}
if ([indicator isAnimating]) {
[indicator stopAnimating];
}else{
[indicator startAnimating];
}
}
第一個方法是建立indicator的方法,很簡單,裡面有一個是View Style,可以控制indicator的顯示方式。
第二個方法,當你按下按鈕,它首先檢查indicator做了沒,若沒做就呼叫第一個方法去做,做了的話,再看看是不是在播放中,如果有的話就關掉,如果沒在播放,就開始播放。
就這麼簡單,執行看看吧!
使用元件庫建立
這邊的做法類似,首先在手機畫面,把UIActivityIndicatorView拉到手機上,然後把Activity Indicator View裡面的Behavior的Hides When Stopped給勾選,這樣的話當動畫停止時,該元件才會隱藏。然後把這在view controller裡面建立一個Outlet,命名為indicator。
然後再拉一個按鈕進去,跟上面一樣。
然後在實作檔裡面寫:
- (IBAction)showIndicator:(id)sender {
if ([indicator isAnimating]) {
[indicator stopAnimating];
}else{
[indicator startAnimating];
}
}
這樣就完成了!
留言
張貼留言