iOS 十大控制元件
10個控制元件
label
button
view
imageview
textfield
textview
interface build IBOutlet 介面顯示
IBAction 和void一個型別
計步器
UIStepper * stepper
進度條
UIProgressView * progress
警告框
1、新增的警告框的標題
2、警告框的內容
3、設定代理一般設定當前類的物件指標為UIAlertView的代理
4、設定按鈕的標題此處的標題一般的時候不預設
5、設定多個按鈕標題
UIAlertView * alertview = [[UIAlertViewalloc]initWithTitle:@"警告"message:@"你很帥" delegate:selfcancelButtonTitle:@"我知道了" otherButtonTitles:@"呵呵", nil];
//alerview 就是與使用者互動的警告框
//buttonIndex 警告框上的按鈕的下標值(從左向右,或者從上向下,下標值逐漸加1)
//cancelButton 的下標值永遠為0
提示框
//destructiveButton 的下標值為0 ,按鈕從上到下,下標值逐個加1
UIActionSheet * sheet = [[
//將提示框新增到檢視上面
分段控制元件物件
NSArray * arr = @[@"red",@"green",@"blue"];
UISegmentedControl * segmentcontrol = [[UISegmentedControlalloc]initWithItems
segmentcontrol.frame = CGRectMake(10, 100, 300, 40);
建立滑動塊
UISlider * slider = [[UISlideralloc]initWithFrame:CGRectMake(10, 100, 300, 10)];
網頁檢視WEBview
UIWebView * webview = [[UIWebViewalloc]initWithFrame:CGRectMake(0, 50, 320, 480-50)];
建立開關控制元件物件 及活動指示器
UISwitch * swtichview = [[UISwitchalloc]initWithFrame:CGRectMake(100, 100, 100, 40)];
//活動指示器不能與使用者進行互動
//經常用於顯示載入中
//<1>建立活動指示器物件
/*
UIActivityIndicatorViewStyleWhiteLarge,
UIActivityIndicatorViewStyleWhite,
UIActivityIndicatorViewStyleGray
*/
UIActivityIndicatorView * activity = [[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; //活動指示器
建立選擇器控制元件UIPickerView
picker = [[UIPickerViewalloc]initWithFrame:CGRectMake(0, 230, 320, 480-230)];
picker.backgroundColor = [UIColorgreenColor];
//設定代理 必須設定代理,不然無法傳值
picker.delegate = self;
picker.dataSource = self;
計步器
//<1>建立計步器物件
UIStepper * stepper = [[UIStepperalloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
進度條
//進度條不能與使用者進行互動
//必須讓外界觸發
/*
UIProgressViewStyleDefault,
UIProgressViewStyleBar
*/
UIProgressView * progress = [[UIProgressViewalloc]initWithProgressViewStyle:UIProgressViewStyleDefault];
//重寫viewWillAppear方法,對檢視上的資料或者佈局進行修改
-(void)viewWillAppear:(BOOL)animated
{
UIStepper * stepper = (UIStepper *)[self.viewviewWithTag:99];
UIProgressView * progressview = (UIProgressView *) [self.viewviewWithTag:100];
stepper.value = 0;
progressview.progress = 0;
}
-(void)createStepper // 計步器
{
//<1>建立計步器物件
UIStepper * stepper = [[UIStepperalloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
//<2>設定stepper的背景顏色預設背景顏色為白色和按鈕一樣的預設顏色
//stepper.backgroundColor = [UIColor redColor];
//<3>設定stepper的邊框顏色
//預設為藍色
stepper.tintColor = [UIColorpurpleColor];
//<4>設定stepper的最小值
stepper.minimumValue = 0;
//<5>設定stepper的最大值
stepper.maximumValue = 100;
//<6>設定初始值
stepper.value = 0;
//<7>為stepper新增點選事件
[stepper addTarget:selfaction:@selector(stepperChange:) forControlEvents:UIControlEventValueChanged];
//<8>設定stepper的步長(點選+-的時候stepper的value的值的變化
stepper.stepValue = 10;
//<9>禁止長按的屬性
//預設情況下是允許長按的
stepper.autorepeat = NO;
//stepper.continuous = NO; //過時了,5.0 不能用
stepper.tag = 99;
[self.viewaddSubview:stepper];
[stepper release];
}
-(void)stepperChange:(id)sender
{
//id表示任意型別的控制元件物件
//sender表示使用者互動的控制元件,這種使用者互動機制所有控制元件都具有
UIStepper * stepper = (UIStepper *)sender;
UIProgressView * progressview = (UIProgressView *)[self.viewviewWithTag:100];
progressview.progress = stepper.value/stepper.maximumValue;
if (progressview.progress == 1) {
NExTViewController * next = [[NExTViewControlleralloc]init];
[selfpresentViewController:next animated:YEScompletion:Nil];
[next release];
}
}
-(void)createProgress //進度器
{
//進度條不能與使用者進行互動
//必須讓外界觸發
/*
UIProgressViewStyleDefault,
UIProgressViewStyleBar
*/
UIProgressView * progress = [[UIProgressViewalloc]initWithProgressViewStyle:UIProgressViewStyleDefault];
//<1>設定顯示位置
progress.frame = CGRectMake(10, 200, 300, 10);
//<2>設定進度條左側的顏色
progress.progressTintColor = [UIColorredColor];
//<3>設定進度條右側的顏色
progress.trackTintColor = [UIColorblueColor];
//<4>設定進度條的初始值
progress.progress = 0;
//progress值從0到1
//如果設定的這progress的值大於0,那麼進度條永遠都處於充滿的狀態
progress.tag = 100;
[self.viewaddSubview:progress];
[progress release];
}
建立警告框
-(void)createBtn
{
UIButton * btn1 = [XLMyButtoncreatButtonWithFrame:CGRectMake(100, 100, 100, 100) target:selfsel:@selector(perssBtn:) tag:1image:Niltitle:@"警告框"];
[self.viewaddSubview:btn1];
UIButton *btn2 = [XLMyButtoncreatButtonWithFrame:CGRectMake(100, 200, 100, 100) target:selfsel:@selector(perssBtn:) tag:2image:niltitle:@"高仿警告框"];
[self.viewaddSubview:btn2];
}
-(void)perssBtn:(id)sender
{
UIButton * btn = (UIButton *)sender;
if (btn.tag == 1) {
//建立警告框
/*
1、新增的警告框的標題
2、警告框的內容
3、設定代理一般設定當前類的物件指標為UIAlertView的代理
4、設定按鈕的標題此處的標題一般的時候不預設
5、設定多個按鈕標題
*/
UIAlertView * alertview = [[UIAlertViewalloc]initWithTitle:@"警告"message:@"你很帥" delegate:selfcancelButtonTitle:@"我知道了" otherButtonTitles:@"呵呵", nil];
//將alerview新增到檢視上
[alertview show]; //警告框獨有的方法
alertview.tag = 100;
[alertview release];
//alertview不需要設定顯示位置及大小,編譯器會自動設定警告顯示在檢視的中心位置
//alertview顯示出來以後,後面的原有檢視不能與使用者互動,直到警告框消失才可與使用者互動
}
else
{
UIAlertView * alert = [[UIAlertViewalloc]initWithTitle:@"測試性格" message:@"選擇顏色" delegate:selfcancelButtonTitle:@"確定" otherButtonTitles:@"紅",@"黃",@"藍",@"綠",nil];
[alert show];
[alert release];
}
// 點選警告框上的按鈕,會自動觸發協議中的方法
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//alerview 就是與使用者互動的警告框
//buttonIndex 警告框上的按鈕的下標值(從左向右,或者從上向下,下標值逐漸加1)
//cancelButton 的下標值永遠為0
if (alertView.tag == 100) {
if (buttonIndex == 0) {
NSLog(@"點選的是:我知道了");
}
else
{
NSLog(@"點選的是:呵呵按鈕");
}
}
else
{
switch (buttonIndex) {
case1:
self.view.backgroundColor = [UIColorredColor];
break;
case2:
self.view.backgroundColor = [UIColoryellowColor];
break;
case3:
self.view.backgroundColor = [UIColorblueColor];
break;
case4:
self.view.backgroundColor= [UIColorgreenColor];
break;
default:
break;
}
}
}
提示框
-(void)perssBtn:(id)sender
{
//提示框的顯示位置及大小都是系統自動設定的,無需手動設定
//提示框顯示位置在檢視底的位置,向上彈出
//destructiveButton 和alertview中的cancelbutton相同,一般的時候這個按鈕不能預設
//destructiveButton 的下標值為0 ,按鈕從上到下,下標值逐個加1
UIActionSheet * sheet = [[UIActionSheetalloc]initWithTitle:@"上傳圖片資訊" delegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:@"確定" otherButtonTitles:@"拍照",@"從相簿中獲取",@"從本地獲取", nil];
//將提示框新增到檢視上面
[sheet showInView:self.view];//提示框獨有的方法
[sheet release];
}
//點選按鈕觸發協議中的方法
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"%d",buttonIndex);
}
分段控制元件物件
//分段控制元件
-(void)createSegment
{
//<1>建立分段控制元件物件
NSArray * arr = @[@"red",@"green",@"blue"];
UISegmentedControl * segmentcontrol = [[UISegmentedControlalloc]initWithItems:arr ];
segmentcontrol.frame = CGRectMake(10, 100, 300, 40);
//<2>設定分段控制元件的邊框顏色
segmentcontrol.tintColor = [UIColorpurpleColor];
//<3>設定預設選中的分段位置
segmentcontrol.selectedSegmentIndex = 0;
//<4>插入新的分段
[segmentcontrol insertSegmentWithTitle:@"new"atIndex:0animated:YES];
//<5>點選事件
[segmentcontrol addTarget:selfaction:@selector(perssBtn:) forControlEvents:UIControlEventValueChanged];
[self.viewaddSubview:segmentcontrol];
[segmentcontrol release];
}
-(void)perssBtn:(id)sender
{
UISegmentedControl * segment = (UISegmentedControl *)sender;
if (segment.selectedSegmentIndex == 1) {
self.view.backgroundColor = [UIColorredColor];
}
elseif (segment.selectedSegmentIndex == 2)
{
self.view.backgroundColor = [UIColorblueColor];
}
else
{
self.view.backgroundColor =[UIColorwhiteColor];
}
}
建立滑動塊
-(void)createSlider
{
//<1>建立滑動塊
UISlider * slider = [[UISlideralloc]initWithFrame:CGRectMake(10, 100, 300, 10)];
//<2>設定slider的最大值
slider.maximumValue = 1;
//<3>設定最小值
slider.minimumValue = 0;
//<4>設定slider的初始值
slider.value = 0;
//<5>設定slider的左側的顏色
slider.minimumTrackTintColor = [UIColorredColor];
//<6>設定slider右側的顏色
slider.maximumTrackTintColor = [UIColoryellowColor];
//<7>為slider新增事件,能與使用者互動
[slider addTarget:selfaction:@selector(sliderChsanged:) forControlEvents:UIControlEventValueChanged];
slider.tag = 1;
[self.viewaddSubview:slider];
[slider release];
UISlider * slider1 = [[UISlideralloc]initWithFrame:CGRectMake(10, 200,300, 30)];
slider1.minimumValue = 0;
slider1.maximumValue = 1;
slider1.minimumTrackTintColor = [UIColorcyanColor];
slider1.maximumTrackTintColor = [UIColormagentaColor];
slider1.value = 0;
slider1.tag = 2;
//設定slider左側圖片
slider1.minimumValueImage = [UIImageimageNamed:@"tab_c1.png"];
//設定slider右側圖片
slider1.maximumValueImage = [UIImageimageNamed:@"tab_c3.png"];
//設定slider按鈕圖片
[slider1 setThumbImage:[UIImageimageNamed:@"tab_c0.png"] forState:UIControlStateNormal];
[slider1 addTarget:selfaction:@selector(sliderChsanged:) forControlEvents:UIControlEventValueChanged];
[self.viewaddSubview: slider1];
[slider1 release];
}
-(void)sliderChsanged:(id)sender
{
UISlider * slider = (UISlider * )sender;
if (slider.tag == 1) {
NSLog(@"%f",slider.value);
}
else
{
if (slider.value < 1) {
staticint count = 10;
count ++;
self.view.backgroundColor = [UIColorcolorWithRed:(count * 25%255)/255.0green:(count * 26%255)/255.0blue:(count * 29%255)/255.0alpha:1];
}
}
}
網頁檢視WEBview
-(void)createWebView
{
//<1>建立webview的物件,顯示網址下的所有資料
UIWebView * webview = [[UIWebViewalloc]initWithFrame:CGRectMake(0, 50, 320, 480-50)];
//<2>設定字串網址
NSString * path = @"http://10.0.8.8";
//<3>將字串轉化成NSURL
NSURL * url = [NSURLURLWithString:path];
//<4>將NSURL封裝成請求物件
NSURLRequest * request = [NSURLRequestrequestWithURL:url];
//<5>將請求下來的資料顯示在webview上
[webview loadRequest:request];
webview.tag = 1;
[self.viewaddSubview: webview];
[webview release];
}
-(void)createSlider
{
UISlider * slider = [[UISlideralloc]initWithFrame:CGRectMake(0, 30, 320, 10)];
slider.minimumValue = 10;
slider.maximumValue = 1000;
slider.value = 10;
[slider addTarget:selfaction:@selector(shliderchanged:) forControlEvents:UIControlEventValueChanged];
slider.tag =100;
[self.viewaddSubview: slider];
[slider release];
}
-(void)shliderchanged:(id)sender
{
UIWebView * web = (UIWebView *)[self.viewviewWithTag:1];
UISlider * slider =(UISlider *)[self.viewviewWithTag:100];
[web stringByEvaluatingJavaScriptFromString:[NSStringstringWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%f%%'",slider.value]];
[web stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= 'blue'"];
}
<1>建立開關控制元件物件 及活動指示器
-(void)createSwitch
{
//<1>建立開關控制元件物件
UISwitch * swtichview = [[UISwitchalloc]initWithFrame:CGRectMake(100, 100, 100, 40)];
//<2>設定開關按鈕初始狀態
swtichview.on = NO;
//<3>設定開關按鈕開啟時候的背景顏色
swtichview.onTintColor = [UIColoryellowColor];
//<4>設定開關按鈕關閉時的顏色
swtichview.tintColor = [UIColorcyanColor];
//<5>設定開關按鈕上按鈕的顏色
swtichview.thumbTintColor = [UIColorredColor];
//<6>新增點選事件
[swtichview addTarget:selfaction:@selector(switchChanged:) forControlEvents:UIControlEventTouchUpInside];
[self.viewaddSubview: swtichview];
[swtichview release];
}
-(void)switchChanged:(id)sender
{
UISwitch * twmpSwitch = (UISwitch *)sender;
UIActivityIndicatorView * activity = (UIActivityIndicatorView *)[self.viewviewWithTag:200];
//判斷開關按鈕的狀態
//tempSwitch.isOn表示開啟狀態
if (twmpSwitch.isOn) {
activity.hidden = NO;
[activity startAnimating]; //開始動畫
}
else
{
[activity stopAnimating]; //停止動畫
//hidesWhenStopped 為yes ,所以動畫停止的時候自動隱藏,此處無需設定隱藏狀態
}
}
-(void)crea