UIButton按鈕控件和UITextField輸入框控件,是UI開發(fā)中比較常用的兩個控件

和UILabel、UIImageView、UISwitch相比,用法相對比較豐富
UIButton的四個狀態(tài)
UIButton有四個狀態(tài):
//正常狀態(tài) UIControlStateNormal //高亮狀態(tài):當按鈕被按下時的狀態(tài) UIControlStateHighlighted //選中狀態(tài):通過UIButton對象的selected屬性進行切換 UIControlStateSelected //禁用狀態(tài):通過UIButton對象的enable屬性進行切換,不能接受用戶的點擊 UIControlStateDisabled
如果設置了正常狀態(tài)下的文字、圖片的數(shù)據(jù),其余三個狀態(tài)也是用這些數(shù)據(jù)
高亮狀態(tài),顏色加深;禁用狀態(tài),顏色變灰
也可以分別設置每一個狀態(tài)下的文字、圖片等數(shù)據(jù)
UIButton的子視圖
UIButton內(nèi)部包含三個子視圖:
一個UILabel文字標簽(藍色)
一個UIImageView圖片控件(默認在文字左邊)(橘紅色)
一個UIImageView背景圖片空間(在文字和圖片空間的下面)(***)
其中后兩個子視圖,可以不顯示數(shù)據(jù)


設置數(shù)據(jù)必須指明是哪個狀態(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)常實現(xiàn)UIButton子類
可以實現(xiàn)以下效果:
1)UIButton屬性的設置封裝到構(gòu)造方法中
2)去掉某些自帶效果
比如去掉高亮狀態(tài)時的陰影效果,重寫highlighted屬性的setter方法:什么也不做
3)修改該文字標簽和圖片的相對位置
重寫以下方法:
- (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的自定義鍵盤
通過inputView修改鍵盤
@property(readwrite, strong) UIView *inputView
通常是設置為各種選擇視圖,如:
textField.inputView = [[UIDatePicker alloc] init];
通過inputAccessoryView設置鍵盤上的工具欄
@property(readwrite, strong) UIView *inputAccessoryView
工具欄上一般放置各種按鈕,如完成、下一個、上一個等
UIToolBar * toolBar = [UIToolBar alloc] init]; textField.inputAccessoryView = toolBar; toolBar.frame = CGRectMake(0, 0, 375, 20); //toolBar添加按鈕 //...
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)頁名稱:UIKit框架(18)UIButton和UITextField-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.chinadenli.net/article36/djdopg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站制作、企業(yè)建站、網(wǎng)站設計、移動網(wǎng)站建設、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容