我們做完HelloWord之後在來學習一些最為簡單並且很實用的一些控制項1.UIAlertView的實現:
效果如:
2.UIActionSheet 的實現 UIActionSheet和UIAlertView的區別 都是用於給使用者提示操作 而UIActionSheet是從底部彈出 當使用者有危險操作時用來提示 例如使用者刪除某個檔案就可以用UIActionSheet提示使用者是否確認刪除
首先.h檔案要實現UIActionSheetDelegate 並且實現Delegate中的方法:actionSheet:didDismissWithButtonIndex 方法這個方法當你點擊摸個按鈕時會自動觸發 上面代碼中點擊cancel這個按鈕時 文字將變成空;效果
3.兩個等待控制項UIActionIndicatorView 和 UIProgressView我們來做一個小程式來實現他倆的功能需求:點擊按鈕 進度條開始前進 進度條走完彈出 安裝對話方塊 點擊安裝 UIActionIndicatorView開始旋轉介面如下:
.h代碼@interface seek : UIViewController <UIActionSheetDelegate> { UIActivityIndicatorView *seekbar; UIProgressView *probar; NSTimer * time;}@property (nonatomic, retain) IBOutlet UIActivityIndicatorView *seekbar;@property (nonatomic, retain) IBOutlet UIProgressView *probar;@property (nonatomic, retain)NSTimer * time;- (IBAction)downLond:(id)sender; @end .m代碼- (IBAction)downLond:(id)sender { probar.progress=0.0; time=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateinstall)
userInfo:nil repeats:YES]; } -(void)updateinstall{ probar.progress=probar.progress+0.1; if(probar.progress==1.0){ [time invalidate]; UIActionSheet * actionSheet =[[UIActionSheet alloc]initWithTitle:@"Install" delegate:self
cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Install" otherButtonTitles:nil, nil]; [actionSheet showInView:self.view]; [actionSheet release]; }} -(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{ if (buttonIndex==[actionSheet destructiveButtonIndex]) { if ([seekbar isAnimating]) { [seekbar stopAnimating]; }else { [seekbar startAnimating]; } } } NSTimer是可以隱式地啟動一個線程,scheduledTimerWithTimeInterval指定線程要休眠多少時間調用一次,selector所指定的方法updateinstall 運行效果如下:
這次我們在來多做一點控制項 首先看螢幕的這些控制項
上面是三個 UIButton 實現功能:點擊最上面的button 有高亮效果可以控制下面兩個按鈕是否可以被點擊中間一個UISwitch 和 UISilder 實現功能:把UISilder拖動到頭 開關變成 ON狀態 其他的開關都是OFF狀態再下邊是 UISegmentedCortrol 控制項 實現功能:點擊第一個 控制台輸出 “0” 點擊骷髏 開關按鈕改為OFF狀態再下邊就是最後的UIToorBar了 可以增加條目 實現功能:點擊第一個條目 UISilder變為最大 點擊最後一個條目 UISIlder變為最小 看代碼吧 .h檔案 方法順序就是按照上面的功能順序@interface MostControlViewController : UIViewController { UIButton *btn1; UIButton *btn2; UISlider *probar; UISwitch *onOrOff; }@property (nonatomic, retain) IBOutlet UIButton *btn1;@property (nonatomic, retain) IBOutlet UIButton *btn2;@property (nonatomic, retain) IBOutlet UISlider *probar;@property (nonatomic, retain) IBOutlet UISwitch *onOrOff;- (IBAction)HightLight:(id)sender;- (IBAction)drawing:(id)sender;- (IBAction)SegmentedControl:(id)sender;- (IBAction)on:(id)sender; - (IBAction)off:(id)sender; @end .m檔案- (IBAction)HightLight:(id)sender { if (btn1.enabled==YES) { btn1.enabled=NO; btn2.enabled=NO; [((UIButton *)sender) setTitle:@"noHIGHT" forState:UIControlStateNormal]; }else{ btn1.enabled=YES; btn2.enabled=YES; [((UIButton *)sender) setTitle:@"Hight" forState:UIControlStateNormal]; }} - (IBAction)drawing:(id)sender { if ([(UISlider *)sender value]==((UISlider *)sender).maximumValue) { [onOrOff setOn:YES animated:YES]; }else{ [onOrOff setOn:NO animated:YES]; }} - (IBAction)SegmentedControl:(id)sender { UISegmentedControl * segment=(UISegmentedControl *)sender; if (segment.selectedSegmentIndex==0) { NSLog(@"0"); } else if(segment.selectedSegmentIndex==2){ [onOrOff setOn:NO animated:NO]; }} - (IBAction)on:(id)sender { [probar setValue:probar.maximumValue];} - (IBAction)off:(id)sender { [probar setValue:probar.minimumValue];} 代碼看起來還是比較簡單的需要注意的點為 :選擇高亮時候
Shows Touch On Highlight 要勾上 別的基本都比較簡單
WebView 控制項 這次來實現也是比較簡單的 WebView 控制項 實現效果上面一個輸入框 和一個Button 下面是WebView 顯示效果
因為比較簡單 不做太多解釋 直接看代碼就可以了.h檔案:@interface EX_WebViewTextViewController : UIViewController <UIWebViewDelegate>{ UITextField *uilText; UIWebView *urlView;}@property (nonatomic, retain) IBOutlet UITextField *uilText; @property (nonatomic, retain) IBOutlet UIWebView *urlView;- (IBAction)loadURL:(id)sender; @end .m檔案: - (void)viewDidLoad{ urlView.delegate=self;} - (IBAction)loadURL:(id)sender { [uilText resignFirstResponder]; NSURL * url=[NSURL URLWithString:uilText.text]; NSURLRequest * request=[NSURLRequest requestWithURL:url]; [urlView loadRequest:request]; }-(void)webViewDidFinishLoad:(UIWebView *)webView{ } UIWebViewDelegate 需要實現的方法是 webViewDidFinishLoad:可以輸入你想再載入完成後的代碼