IOS的UI開發(fā)中,一些常用的控件如UILabel,? UITextField,? UIButton,? UIImageView等都直接或間接繼承于UIView
此處簡單介紹這些控件的常用屬性和方法
UILabel?? 直接繼承于UIView
1.創(chuàng)建方法: UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(origini.x, origin.y, size.width, size.height)]
2.常用屬性:
標簽文本: label.text???? NSString類型? 可設置或獲取label的文本
文本顏色: label.textColor?? UIColor類型? 可設置或獲取label文本的顏色
文本字體: label.font??? UIFont類型 ? ? 可設置或獲取字體大小,字體等?? 如:label.font =
[UIFont systemFontSize]?? label.font = [UIFont fontWithName:@"宋體"
size:20]
文本對齊方式: label.textAlignment? NSTextAlignment類型(枚舉)? 可設置或獲取文本的對齊方式:NSTextAlignmentLeft(左對齊), NSTextAlignmentCenter(居中)等方式
標簽(框架)大小: label.frame ? CGRect類型 ??可設置或獲取label的大小(相對大小)
label.frame = CGRect(0,0,5,15) ? 注意:設置label的frame屬性時不能對frame的origin或size
直接賦值,否則會報錯,如 label.frame.size.width = 5或label.frame.origin.x = 2, 這種賦值的方式都是錯誤的,只能對frame整體賦值.
文本行數(shù): label.numberOfLines?? NSInteger類型? 可設置或獲取文本的行數(shù)?? 注意:當將此屬性的值設置為0時,label文本顯示的行數(shù)則不受限制,即能顯示多少行就顯示多少行
文本換行模式: label.lineBreakMode?? NSLineBreakMode類型(枚舉) ?? 可設置或獲取文本的換行模式:NSLineBreakByWordWrapping, NSLineBreakByCliping等等模式
文本陰影顏色: label.shadowColor?? UIColor類型??? 可設置或獲取文本的陰影顏色
陰影方向: label.shadowOffset?? CGSize類型?? 可設置或獲取文本陰影的方向和位置, 高height值的正,負分別代表上,下方向的偏移量,同理寬width值代表左右方向
UITextField? 繼承于UIControl(UIControl繼承于UIView, UIView又繼承于UIResponse, 這些類之間的復雜的繼承關系后續(xù)會用專門篇幅系統(tǒng)講解)
1.創(chuàng)建方法: UITextField *textField? = [[UITextField alloc] initWithFrame:CGRectMake(origini.x, origin.y, size.width, size.height)]
2.常用屬性:
邊框類型: textField.borderStyle?? UITextBorderStyle類型(枚舉)
可設置或獲取文本框的邊框類型,如:UITextBorderStyleRoundedRect(圓
角),UITextBorderStyleNone(無)等類型
文本框內(nèi)容: textField.text?? NSString類型? 可設置或獲取文本框的內(nèi)容 如:textField.text = @"csdn"
文本框的默認內(nèi)容: textField.placeHolder?? NSString類型 可設置或獲取文本框編輯前的默認顯示內(nèi)容
文本對齊方式: textField.textAlignment? NSTextAlignment類型(枚舉)
清除內(nèi)容按鈕: textField.clearButtonMode?? UITextFieldViewMode類型(枚舉), 在文本框內(nèi)右側增加一個可以一次性清除所有文本內(nèi)容的按
鈕,如:TextFieldViewModeWhileEditing, UITextFieldViewModeAlways等方式
開始編輯時是否清除原有內(nèi)容: textField.clearsOnBeginEditing?? BOOL類型? 設置在點擊文本框進行編輯時是否清除掉原有的內(nèi)容
鍵盤樣式: textField.keyboardType? UIKeyboardType類型(枚舉)? 設置彈出的鍵盤的類型,如:UIKeyboardTypeNumberPad, UIKeyboardTypeWebSearch等等類型
回車鍵樣式: textField.returnKeyType? UIReturnKeyType類型(枚舉)? 可設置彈出的鍵盤的return鍵的類型,如:UIReturnKeyGo, UIReturnKeySearch等等類型
是否密文輸入: textField.secureTextEntry? BOOL類型? 可設置編輯文本框時是否密文輸入,常見于密碼框的輸入
左,右視圖模式: textField.leftViewMode? UITextFieldViewMode類型(枚舉)?? 設置文本框的左右視圖
UIButton?? 繼承于UIControl
1.創(chuàng)建方法:?? UIButton *button = [[UIButton
buttonWithType:UIButtonType]
UIButtonType為枚舉類型,有:UIButtonTypeCustom,UIButtonTypeSystem等類型
2.常用屬性:
邊框大小: button.frame ? CGRect類型 ??可設置或獲取button的大小(相對大小),賦值方法與label類似
是否被選中: button.selected??? BOOL類型??? 可設置或獲取button是否被選中
button標題顏色: button.tintColor?? UIColor類型?? 可設置或獲取button標題的顏色
3.功能方法:
設置標題: [button setTitle:title forState:UIControlState]?? 給button的標題設為title, UIControlState為button的狀態(tài),有:UIControlStateNormal, UIControlStateSelected等
設置背景圖片: [button setBackgroundImage:image forState:UIControlState]?? 將圖片image設置為button的背景圖片
添加響應事件:[button addTarget:target] action:action forControlEvents:UIControlEvents]??? 為button添加事件,target為響應對象,action為響應方法,UIControlEvents為觸發(fā)事件
UIImageView?? 直接繼承于UIView
UIImageView用于顯示圖片類資源,可以形象地將其理解為一個相框,用來顯示"相片"
1.創(chuàng)建方法:?? UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame]
2.常用屬性:
圖片: imageView.image? UIImage類型?? 可設置或獲取imageView的圖片image
動畫數(shù)組:imageView.animationImages?? NSArray類型?? 數(shù)組中存放播放動畫的圖片資源對象
動畫延續(xù)的時間:imageView.animationDuration?? NSTimeInterval類型
動畫播放的次數(shù):imageView.animationRepeatCount??? NSInteger類型
用戶交互:imageView.userInteractionEnabled??? BOOL類型?? 設置是否打開imageView的用戶交互,默認值為NO(關閉狀態(tài))
3.功能方法:
開始播放動畫:? [imageView startAnimating]
停止播放動畫:? [imageView stopAnimating]
是否開啟動畫:? [imageView isAnimating]?? 返回BOOL類型值,表示動畫是否在播放