iOS 常用控件的使用方法

#pragma  mark  UIAlertView 的使用方法

-(void)testAlertView

{

    //可以輸入用戶名和密碼的輸入框

    UIAlertView *alert=[[UIAlertViewalloc]init];

    alert.title=@"輸入用戶名和密碼";

//alertViewStyle這個屬性比較重要

/*

    UIAlertViewStyleDefault = 0,  表示沒有格式
    UIAlertViewStyleSecureTextInput,  安全輸入格式,比如密碼加密
    UIAlertViewStylePlainTextInput,  簡單格式
    UIAlertViewStyleLoginAndPasswordInput   用戶名和密碼輸入

*/

    alert.alertViewStyle=UIAlertViewStyleLoginAndPasswordInput;

    [alert addButtonWithTitle:@"取消"];

    [alert addButtonWithTitle:@"完成"];

    [alert show];

//要實現事件,必須遵守UIAlertViewDelegete代理

    alert.delegate=self;

   

}

//alertView的事件處理

- (void)alertView:(UIAlertView *)alertViewclickedButtonAtIndex:(NSInteger)buttonIndex;

{

    //textFieldAtIndex:0 根據索引下標獲取textfield裏面的值

    UITextField *nametext=[alertView textFieldAtIndex:0];

    UITextField *password=[alertView textFieldAtIndex:1];

    NSLog(@"name=%@password=%@",nametext.text,password.text);

   

}

//附上效果圖


#pragma  mark   動作列表的創建

-(void)testActionSheet

{

    //實現一個分享的實力,點擊分享,彈出動作列表

    UIButton *shareButton=[UIButtonsystemButtonWithFrame:CGRectMake(100, 100, 150, 40) title:@"分享"target:selfaction:@selector(dealshareClick)];

    shareButton.backgroundColor=[UIColorgreenColor];

    [self.view addSubview:shareButton];

   

}

#pragma  mark 處理點擊按鈕

-(void)dealshareClick

{


    UIActionSheet *actionsheet=[[UIActionSheetalloc]initWithTitle:@"分享"  delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"新浪微博",@"微信",@"郵件",@"短信", nil];

    [actionsheet showInView:self.view];

   

}

//處理actionsheet的事件

// 必須遵守actionsheetdelegete協議

//處理這個事件 也必須實現UIActionSheet的代理

-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

{

   

    //按照下表來處理事件

    if (buttonIndex==0) {

       

    }

    elseif(buttonIndex==1)

    {

       

    }

    NSLog(@"%d",buttonIndex);

}

 //UIActionSheet的效果圖


 

#pragma  mark 創建文本視圖

//這個文本視圖類似於textfield但是不同的是textfield是單行文本,這是多行文本輸入

-(void)testTextView

{

   

    UITextView *textView=[[UITextViewalloc]initWithFrame:CGRectMake(10, 30, 300, 400)];

    //點擊return並不會回收鍵盤  是換行,要想回收,自己添加按鈕

    //1.設置文本內容

    textView.text=@"盡人事,聽天命,非也非也,我命由我不由天.盡人事,聽天命,非也非也,我命由我不由天.盡人事,聽天命,非也非也,我命由我不由天.盡人事";

     //歷史的塵埃(在歷史的天空下,所有人只不過是一粒塵埃)

    //2這裏設置背景顏色

    textView.backgroundColor=[UIColorgreenColor];

    textView.delegate=self;

   

    //回收textview 的鍵盤,

//    1在導航欄上添加完成回收

//    2.在虛擬鍵盤的附件區域添加一個完成按鈕

//    3.添加一個根虛擬鍵盤聯動的按鈕

     textView.tag=200;

   

    [self.view addSubview:textView];

   

    //z在鍵盤添加附件區域

    UIToolbar *toolbar=[[UIToolbaralloc]initWithFrame:CGRectMake(0, 0, 320, 44)];

    // 完成按鈕

    UIBarButtonItem*finishItem=[[UIBarButtonItem alloc]initWithTitle:@"完成"style:UIBarButtonItemStylePlain target:self action:@selector(dealtextBtnClik:)];

    finishItem.tag=100;

    //清空按鈕

    UIBarButtonItem*clearItem=[[UIBarButtonItem alloc]initWithTitle:@"清空"style:UIBarButtonItemStylePlain target:self action:@selector(dealtextBtnClik:)];

    clearItem.tag=101;

    toolbar.items=@[finishItem,clearItem];

    //toolbar 加入到鍵盤的附件區域

    //[self.view addSubview: toolbar];

    textView.inputAccessoryView=toolbar;

  

   

}


#pragma  mark這裏在鍵盤附件區域添加事件

-(void)dealtextBtnClik:(UIBarButtonItem*)button

{

    UITextView *textView=(UITextView*)[self.view viewWithTag:200];

    //等於100的時候,完成

    if (button.tag==100) {

        [textView resignFirstResponder];

    }

    elseif(button.tag==101)

    {

        textView.text=@"";

    }

}



#pragma  mark  進度條

-(void)testProgressView

{

    UIProgressView *progress=[[UIProgressViewalloc]initWithProgressViewStyle:UIProgressViewStyleDefault];

    progress.frame=CGRectMake(100, 260, 200,10);

    [self.view addSubview:progress];

    //屬性的設置

    progress.progress=0;

    //模擬下載完成

    [NSTimer scheduledTimerWithTimeInterval:0.1target:self selector:@selector(downloadprogress:)userInfo:progress repeats:YES];

   

}

-(void)downloadprogress:(NSTimer*)timer

{

   

    UIProgressView *progress=(UIProgressView*)timer.userInfo;

    progress.progress+=0.01;

    if (progress.progress>=1.00 ) {

        [timer invalidate];

        UIAlertView *alert=[[UIAlertViewalloc]init];

        alert.message=@"下載好啦";

        [alert addButtonWithTitle:@"好的"];

        [alert show];

    }

}

//效果圖


//計數器控件,一般用在購物app上面,商品的加減

-(void)testStepper

{

    //寬度和高度都是固定的

    UIStepper *step=[[UIStepperalloc]initWithFrame:CGRectMake(150, 200, 100, 20)];

    //常用的屬性的設置

    //在購物界面上添加一個輸入商品的計數器

    step.minimumValue=1;

    step.maximumValue=100;

    step.stepValue=1;

    [step addTarget:self action:@selector(dealstep:)forControlEvents:UIControlEventValueChanged];

    textfield=[[UITextFieldalloc]initWithFrame:CGRectMake(10, 200, 100, 30)];

   textfield.borderStyle=UITextBorderStyleRoundedRect;

    textfield.text=@"1";

    textfield.tag=100;

    textfield.delegate=self;

    [self.view addSubview:textfield];

    [self.view addSubview:step];

}

-(void)dealstep:(UIStepper*)step

{

     //step.value

    UITextField *text=(UITextField*)[self.view viewWithTag:100];

    text.text=[NSString stringWithFormat:@"%i",(int)step.value];

}

//鍵盤迴收,一般所有的textfield控件都需要使用的方法,使用這個方法必須遵守UITextfieldDelegate這個協議

-(BOOL)textFieldShouldReturn:(UITextField*)textField

{

    [textfield resignFirstResponder];

    returnYES;

}

 //效果圖


#pragma  mark 分段選擇控件

-(void)testSegmentedControl

{

    NSArray *array=@[@"腦殘",@"菊花",@"武士",@"",@"小橋"];

    UISegmentedControl *sc=[[UISegmentedControlalloc]initWithItems:array];

    sc.frame=CGRectMake(10, 100,300, 30);

    //設置當前的選擇項

    sc.selectedSegmentIndex=1;

    [self.view addSubview:sc];

    [sc insertSegmentWithTitle:@"瘦馬" atIndex:2 animated:YES];

    [sc addTarget:self action:@selector(dealsegmengt:)forControlEvents:UIControlEventValueChanged];

}

 

#pragma  mark 處理分段控件的事件

-(void)dealsegmengt:(UISegmentedControl*)segmented

{

    NSLog(@"segmented=%d",segmented.selectedSegmentIndex);

}

 


#pragma  mark 滑塊控件  一般用在音樂播放器進度控制

-(void)testSlider

{

    //創建劃塊控件

    UISlider *slider=[[UISlideralloc]initWithFrame:CGRectMake(100, 100, 200, 20)];

    //修改長度,但是高度是固定不變的

    NSLog(@"sliderwidth=%f  and hight=%f",slider.frame.size.width,slider.frame.size.height);

 

    slider.minimumValue=0;

    slider.maximumValue=200;

   

    slider.value=100;

    //設置背景顏色

    slider.tintColor=[UIColor redColor];

    [slider addTarget:self action:@selector(dealslider:) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview: slider];

}

#pragma  mark 滑塊控件的事件

-(void)dealslider:(UISlider*)slider

{

    NSLog(@"slider.value=%f",slider.value);

}



#pragma  mark 活動提示控件  菊花控件

-(void)activityIndicatorView

{

    //UI ActivityIndicatorView  基本使用

    UIActivityIndicatorView*activity=[[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

    activity.center=CGPointMake(160, 240);

    [self.view addSubview:activity];

    [activity startAnimating];

   

    //模擬數據下載完成的操作

   [ NSTimer scheduledTimerWithTimeInterval:3target:self selector:@selector(stopActivityIndicatorView:)userInfo:activity repeats:NO];

   

   

}

// 活動提示控件的處理

-(void)stopActivityIndicatorView:(NSTimer*)timer

 

{

    UIActivityIndicatorView*aiv=timer.userInfo;

    [aiv stopAnimating];

    UIAlertView *alert=[[UIAlertViewalloc]init];

    alert.message=@"加載完畢";

    [alert addButtonWithTitle:@"確定"];

    [alert show];

}



#pragma  mark 開關控件的創建

-(void)testSwitch

{

    UISwitch *myswicth=[[UISwitchalloc]initWithFrame:CGRectMake(100, 100, 100, 30)];

    NSLog(@"%f %f",myswicth.frame.size.width,myswicth.frame.size.height);

    [myswicth setOn:YES animated:YES];

    //開關控件的簡單設置

    //設置狀態

    myswicth.on=NO;

    myswicth.onTintColor=[UIColor redColor];

    myswicth.tintColor=[UIColor greenColor];

   

    myswicth.thumbTintColor=[UIColorblackColor];

    //事件處理

    [myswicth addTarget:self action:@selector(dealswitch:)forControlEvents:UIControlEventValueChanged];

    [self.view addSubview: myswicth];

   

}

//switch的事件處理

-(void)dealswitch:(UISwitch*)myswitch

{

    //關掉爲開啓爲1

    NSLog(@"%d",myswitch.on);

    if (myswitch.on) {

        // 處理開啓的任務

    }

    

}

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章