四大控件:UILabel、UITextField抄囚、UIButton和UIImageView
一霉赡、UILable
UILabel(標簽):顯示文本的控件,是UIView的子類
UILabel的屬性:
1.text:要顯示的文本內容
label.text = @"用戶名";
2.textColor:文本內容的顏色
label.textColor = [UIColor redColor];
3.textAlignment:文本的對齊方式(水平方向)
label.textAlignment = NSTextAlignmentLeft;
4.font:文本字體
label.font = [UIFont fontWithName:@"Helvetica-Bold"size:20];//黑體加粗幔托,20號字穴亏。
5.numberOfLines:行數
label.numberOfLines =3;
//顯示3行,注意lable的高度要能容納3行重挑。如果3行沒能顯示完信息嗓化,沒顯示的信息以省略號代替。一般默認為1行谬哀,設置為0行就是不限制行數
6.lineBreakMode:斷行模式
label.lineBreakMode = NSLineBreakByWordWrapping;//以單詞為單位換行
7.shadowColor:陰影顏色
label.shadowColor = [UIColor yellowColor];//陰影顏色
8.shadowOffset:陰影大小
label.shadowOffset = CGSizeMake(2,1);//陰影向x正方向偏移2刺覆,向y正方向偏移1.
9.獲取系統(tǒng)的所有字體
NSLog(@"font---%@,font的個數--%ld",[UIFont familyNames],[UIFont familyNames].count);
10.設置文字自適應寬度---必須是單行顯示,不是多行
myLable.adjustsFontSizeToFitWidth = YES;
11.設置文字的基準線
myLable.baselineAdjustment = UIBaselineAdjustmentNone;
二玻粪、UITextField
UITextField(輸入框):是控制文本輸入和顯示的控件隅津。
UITextField的顯示屬性:
1.text:要顯示的文本內容
2.textColor:文本內容的顏色
3.textAlignment:文本的對齊方式(水平方式)
4.font:文本字體
5.placeholder:占位字符串(沒有任何輸入時诬垂,給出的提示字符串)
textField.placeholder = @"請輸入用戶名";
UITextField的輸入控制屬性:
1.enabled:是否允許輸入
textField.enabled = NO;//不允許輸入,不彈出鍵盤伦仍;textField.enabled = YES;//默認是YES结窘。允許輸入
2.clearsOnBeginEditing:是否開始輸入的時候清空輸入框內容
textField.clearsOnBeginEditing = YES;//清空; textField.clearsOnBeginEditing = NO;//不清空
3.secureTextEntry:是否文字以圓點格式顯示
textField.secureTextEntry = YES充蓝;//密碼模式隧枫;textField.secureTextEntry = NO;//普通模式
4.keyboardType:彈出鍵盤的類型(枚舉值)
textField.keyboardType = UIKeyboardTypeNumberPad;//數字鍵盤
5.returnKeyType:鍵盤右下角return按鈕類型(枚舉值)
textField.returnKeyType = UIReturnKeyNext;
6.inputView:自定義輸入視圖(默認是鍵盤)
textField.inputView = myInputView---寬度是有一個死值,為當前屏幕的寬度谓苟。高度可以自定義
7.inputAccessoryView:輸入視圖上方的輔助視圖(默認nil)
textField.inputAccessoryView = myAccessoryView;
8.用戶交互屬性的設置官脓,所有UIView的子類都具有該屬性
myTF.userInteractionEnabled = YES;
9.Textfield指定當前類對象為代理方
myTF.delegate = self;
10.設置return按鈕類型
myTF.returnKeyType = UIReturnKeyDone;
UITextField的外觀控制屬性:
1.borderStyle:邊框樣式(枚舉值)
textField.borderstyle = UITextBorderStyleRoundedRect;//圓角矩形邊框
2.clearButtonMode:清除按鈕模式(枚舉值)
textField.clearButtonMode = UITextFieldViewModeAlways;//總是顯示清除按鈕---
設置文字的清除模式-
1.whileEditing:只有編輯模式才會出現叉號涝焙,非編輯模式狀態(tài)沒有叉號
2.always:只要有文字叉號就存在卑笨,不管是不是編輯狀態(tài)
3.unlessEditing:編輯的時候不會出現叉號,非編輯的時候不會出現
3.leftView:輸入框左視圖
textField.leftView = leftView;
4.leftViewMode:左視圖的顯示模式
textField.leftViewMode = UITextFieldViewModeAlways;//總是顯示左視圖
5.rightView:輸入框右視圖
textField.rightView = rightView;
6.rightViewMode:右視圖的顯示模式
textField.rightViewMode = UITextFieldViewModeAlways;//總是顯示右視圖
UITextField的常用代理方法:
1.是否允許開始編輯
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
//如果返回值為yes仑撞,允許開始編輯赤兴,如果為no,不允許開始編輯
return YES;
}
2.已經開始編輯---參數就是上面指定代理的Textfield
- (void)textFieldDidBeginEditing:(UITextField *)textField{
//開始編輯的時候隧哮,切換輸入框樣式
textField.borderStyle = UITextBorderStyleRoundedRect;
NSLog(@"已經開始編輯");
}
3.是否允許結束編輯狀態(tài)
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
return YES;
}
4.已經結束編輯狀態(tài)
- (void)textFieldDidEndEditing:(UITextField *)textField{
//在結束編輯的時候桶良,取消輸入框狀態(tài)
textField.borderStyle = UITextBorderStyleBezel;
//在結束編輯的時候,改變字體顏色
textField.textColor = [UIColor redColor];
//在結束編輯的時候沮翔,添加小叉號
textField.clearButtonMode = UITextFieldViewModeUnlessEditing;
NSLog(@"已經結束編輯");
}
5.當輸入內容的時候會執(zhí)行的代理方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//當編輯內容的時候會打印字符串
NSLog(@"string---%@",string);
//NSStringFromRange將結構體變量轉換為字符串方便打印--(0,0)的意思是(占位,長度)陨帆,這個是操作之前的range
NSLog(@"range---%@",NSStringFromRange(range));
return YES;
}
6.是否允許一鍵清除內容(右側的小叉號是否起作用)
- (BOOL)textFieldShouldClear:(UITextField *)textField{
return YES;
}
7.點擊鍵盤右下角return鍵所需要的操作
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
//當點擊返回按鈕的時候,回收鍵盤采蚀。取消第一響應者疲牵。相當于結束編輯狀態(tài)
[textField resignFirstResponder];
return YES;
}
三、UIButton
UIButton(按鈕):響應用戶點擊的控件搏存。側重于交互
UIButton--有自己的便利構造器瑰步,按鈕無需釋放
1.創(chuàng)建:使用系統(tǒng)提供的按鈕樣式
UIButton* btn = [UIButton buttonWithType:UIButtonTypeSystem];
2.設置寬高:
btn.frame = CGRectMake(200, 200, 60, 30);
3.添加到父視圖中addSubview
4.設置背景色,是否隱藏
5.為按鈕設置常態(tài)標題
[btn setTitle:@"按鈕" forState:UIControlStateNormal];
6.高亮狀態(tài)下的標題
[btn setTitle:@"高亮" forState:(UIControlStateHighlighted)];
7.為按鈕添加點擊事件
1.參數解釋:
1.target:方法的執(zhí)行者璧眠,按鈕的方法在哪個類中實現缩焦,target這里就寫那個對象。
2.方法選擇器中的方法就是操作按鈕的時候會執(zhí)行的方法责静,如果帶參數袁滥,參數就是按鈕本身,也可以不帶參數灾螃。
3.events:按鈕事件题翻,如果操作按鈕才能觸發(fā)方法
2.[btn addTarget:self action:@selector(btnAction:) forControlEvents:(UIControlEventTouchUpInside)];
3.實現btnAction方法,否則系統(tǒng)會崩潰
-(void)btnAction:(UIButton*)sender{ NSLog.... }
8.UIButton的外觀控制屬性:
1.setImage:forState:--設置指定狀態(tài)下的前景圖片
[btn setImage:[UIImage imageNamede:@"login.png"] forState:(UIControlStateHighlighted)];
2.imageForState--獲取指定狀態(tài)下的前景圖片
UIImage* normalImage = [loginButton imageforState:UIControlStateNormal]
3.setBackgroundImage:forState:--設置指定狀態(tài)下的背景圖片
[btn setBackgroundImage:[UIImage imageNamede:@"login.png"] forState:(UIControlStateHighlighted)];
4.backgroundImageForState--獲取指定狀態(tài)下的背景圖片
UIImage* normalImage = [loginButton backgroundImageForState:UIControlStateNormal];
5.setTitle:forState:--設置指定狀態(tài)下的標題
[btn setTitle:@"登錄" forState:(UIControlStateHighlighted)];
6.titleForState--獲取指定狀態(tài)下的標題
NSString* normalTitle = [loginButton titleforState:UIControlStateNormal]
7.setTitleColor:forState:--設置指定狀態(tài)下的標題顏色
[btn setTitleColor:[UIColor reColor] forState:(UIControlStateHighlighted)];
8.titleColorForState--獲取指定狀態(tài)下的標題顏色
UIColor* normalTitleColor = [loginButton titleColorForState:UIControlStateNormal]
9.setTitleShadowColor:forState:--設置指定狀態(tài)下的標題陰影顏色
[btn setTitleShadowColor:[UIColor reColor] forState:(UIControlStateHighlighted)];
10.titleShadowColorForState--獲取指定狀態(tài)下的標題陰影顏色
UIColor* normalTitleShadowColor = [loginButton titleShadowColorForState:UIControlStateNormal]
9.UIButton的點擊事件--從父類UIControl那繼承了控制相關的方法---Events是按鈕觸發(fā)方式(手勢)
1.添加事件
addTarget:action:forControlEvents:--為按鈕添加事件嵌赠,指定按鈕點擊后塑荒,執(zhí)行target的action方法---[btn addTarget:self action:@selector(btnAction:) forControlEvents:(UIControlEventTouchUpInside)];
實現btnAction方法,否則系統(tǒng)會崩潰--- (void)btnAction:(UIButton*)sender{ NSLog.... }
2.移除事件
removeTarget:action:forControlEvents:--移除按鈕的點擊事件---[btn removeTarget:self action:@selector(btnAction:) forControlEvents:(UIControlEventTouchUpInside)];
3.//是否支持多點觸控----默認是NO
btn.multipleTouchEnabled = YES;
10.UIButton上自帶的一個UI控件是titleLabel
四姜挺、UIImageView
1.UIImageView:是顯示圖片的類齿税,相當于一個相框,專門用于顯示圖片炊豪,可以存放一個圖片或一組圖片
2.UIImage:圖片對象
3.UIImageView的動態(tài)圖(實現動畫):
animationImages凌箕;//設置一組動態(tài)圖片
animationDuration;//設置播放一組動態(tài)圖片的時間
animationRepeatCount词渤;//設置重復次數
startAnimating ;//開始動畫
stopAnimating牵舱;//結束動畫
4.UIImageView的學習
1.創(chuàng)建圖片對象--UIImage
2.創(chuàng)建相框對象--UIImageView
3.顯示圖片
第一種:原圖大小
UIImageView* imgView = [[UIImageView alloc] initWithImage:img];
第二種:等比例縮放
UIImageView* imgView_2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.width, img.size.height*self.window.frame.size.width/img.size.width)];
4.顯示到window上---addSubView
5.顯示動態(tài)圖片
1.創(chuàng)建數組,用來容納圖片
2.for循環(huán)遍歷缺虐,i = 0芜壁;i < 動圖拆分后的個數;
3.在for循環(huán)內部將圖片改為字符串類型--UIImage* myImg = [UIImage imageNamed:[NSString stringWithFormat:@"%d.tiff",i]];
4.在for循環(huán)內部將圖片添加到數組中---[imgArray addObject:myImg];
5.在for循環(huán)外部高氮,將數組對象添加到相框中
imgView_2.animationImages = imgArray;
6.啟動動畫
[imgView_2 startAnimating];