您好,登錄后才能下訂單哦!
UIButton按鈕控件和UITextField輸入框控件,是UI開(kāi)發(fā)中比較常用的兩個(gè)控件
和UILabel、UIImageView、UISwitch相比,用法相對(duì)比較豐富
UIButton的四個(gè)狀態(tài)
UIButton有四個(gè)狀態(tài):
//正常狀態(tài) UIControlStateNormal //高亮狀態(tài):當(dāng)按鈕被按下時(shí)的狀態(tài) UIControlStateHighlighted //選中狀態(tài):通過(guò)UIButton對(duì)象的selected屬性進(jìn)行切換 UIControlStateSelected //禁用狀態(tài):通過(guò)UIButton對(duì)象的enable屬性進(jìn)行切換,不能接受用戶的點(diǎn)擊 UIControlStateDisabled
如果設(shè)置了正常狀態(tài)下的文字、圖片的數(shù)據(jù),其余三個(gè)狀態(tài)也是用這些數(shù)據(jù)
高亮狀態(tài),顏色加深;禁用狀態(tài),顏色變灰
也可以分別設(shè)置每一個(gè)狀態(tài)下的文字、圖片等數(shù)據(jù)
UIButton的子視圖
UIButton內(nèi)部包含三個(gè)子視圖:
一個(gè)UILabel文字標(biāo)簽(藍(lán)色)
一個(gè)UIImageView圖片控件(默認(rèn)在文字左邊)(橘紅色)
一個(gè)UIImageView背景圖片空間(在文字和圖片空間的下面)(***)
其中后兩個(gè)子視圖,可以不顯示數(shù)據(jù)
設(shè)置數(shù)據(jù)必須指明是哪個(gè)狀態(tài)下:
- (void)setTitle:(NSString *)title forState:(UIControlState)state - (NSString *)titleForState:(UIControlState)state - (void)setImage:(UIImage *)p_w_picpath forState:(UIControlState)state - (UIImage *)p_w_picpathForState:(UIControlState)state - (void)setBackgroundImage:(UIImage *)p_w_picpath forState:(UIControlState)state - (UIImage *)backgroundImageForState:(UIControlState)state
UIButton子類
按鈕是界面中最常出現(xiàn)的元素,為了定制各種想要的按鈕效果,經(jīng)常實(shí)現(xiàn)UIButton子類
可以實(shí)現(xiàn)以下效果:
1)UIButton屬性的設(shè)置封裝到構(gòu)造方法中
2)去掉某些自帶效果
比如去掉高亮狀態(tài)時(shí)的陰影效果,重寫highlighted屬性的setter方法:什么也不做
3)修改該文字標(biāo)簽和圖片的相對(duì)位置
重寫以下方法:
- (CGRect)contentRectForBounds:(CGRect)bounds - (CGRect)p_w_picpathRectForContentRect:(CGRect)contentRect - (CGRect)titleRectForContentRect:(CGRect)contentRect
UITextField上的各種子視圖
右側(cè)清除按鈕:
@property(nonatomic) UITextFieldViewMode clearButtonMode typedef enum { UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing, UITextFieldViewModeAlways } UITextFieldViewMode;
左右側(cè)視圖,通常放置按鈕
@property(nonatomic, strong) UIView *leftView @property(nonatomic, strong) UIView *rightView
左右側(cè)視圖顯示模式
@property(nonatomic) UITextFieldViewMode leftViewMode @property(nonatomic) UITextFieldViewMode rightViewMode
UITextField的自定義鍵盤
通過(guò)inputView修改鍵盤
@property(readwrite, strong) UIView *inputView
通常是設(shè)置為各種選擇視圖,如:
textField.inputView = [[UIDatePicker alloc] init];
通過(guò)inputAccessoryView設(shè)置鍵盤上的工具欄
@property(readwrite, strong) UIView *inputAccessoryView
工具欄上一般放置各種按鈕,如完成、下一個(gè)、上一個(gè)等
UIToolBar * toolBar = [UIToolBar alloc] init]; textField.inputAccessoryView = toolBar; toolBar.frame = CGRectMake(0, 0, 375, 20); //toolBar添加按鈕 //...
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。