我们做完HelloWord之后在来学习一些最为简单并且很实用的一些控件


1.UIAlertView的实现:


 


ios连点器开发 ios连点器插件_ios连点器开发


效果如下图:


 


ios连点器开发 ios连点器插件_ios_02


 


2.UIActionSheet 的实现


 UIActionSheet和UIAlertView的区别 都是用于给用户提示操作 而UIActionSheet是从底部弹出 当用户有危险操作时用来提示 例如用户删除某个文件就可以用UIActionSheet提示用户是否确认删除


 


ios连点器开发 ios连点器插件_url_03

 

 

ios连点器开发 ios连点器插件_button_04


首先.h文件要实现UIActionSheetDelegate 并且实现Delegate中的方法:


actionSheet:didDismissWithButtonIndex 方法


这个方法当你点击摸个按钮时会自动触发 上面代码中点击cancel这个按钮时 文字将变成空;


效果如图:


 


ios连点器开发 ios连点器插件_ios连点器开发_05


 


3.两个等待控件UIActionIndicatorView 和 UIProgressView


我们来做一个小程序来实现他俩的功能


需求:点击按钮 进度条开始前进 进度条走完弹出 安装对话框 点击安装 UIActionIndicatorView开始旋转


界面如下:


 


ios连点器开发 ios连点器插件_ios_06


.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


 


运行效果如下:


 


 


ios连点器开发 ios连点器插件_ios连点器开发_07

 

 

ios连点器开发 ios连点器插件_ios连点器开发_08



这次我们在来多做一点控件 首先看屏幕的这些控件


 


ios连点器开发 ios连点器插件_url_09


上面是三个 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]; 

 

  } 

 

    

 

  代码看起来还是比较简单的

需要注意的点为 :选择高亮时候


 


ios连点器开发 ios连点器插件_interface_10


Shows Touch On Highlight 要勾上 别的基本都比较简单




WebView 控件


 


这次来实现也是比较简单的 WebView 控件 实现效果如图:


上面一个输入框 和一个Button 下面是WebView 显示效果


 


ios连点器开发 ios连点器插件_ios连点器开发_11


 


因为比较简单 不做太多解释 直接看代码就可以了


.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:可以输入你想再加载完成后的代码