中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UIKit框架(18)UIButton和UITextField

發布時間:2020-09-18 09:58:58 來源:網絡 閱讀:337 作者:ymanmeng123 欄目:移動開發

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

和UILabel、UIImageView、UISwitch相比,用法相對比較豐富


  • UIButton的四個狀態

UIButton有四個狀態:

//正常狀態
UIControlStateNormal 
//高亮狀態:當按鈕被按下時的狀態
UIControlStateHighlighted 
//選中狀態:通過UIButton對象的selected屬性進行切換
UIControlStateSelected 
//禁用狀態:通過UIButton對象的enable屬性進行切換,不能接受用戶的點擊
UIControlStateDisabled

如果設置了正常狀態下的文字、圖片的數據,其余三個狀態也是用這些數據

    高亮狀態,顏色加深;禁用狀態,顏色變灰

也可以分別設置每一個狀態下的文字、圖片等數據


  • UIButton的子視圖

UIButton內部包含三個子視圖:

    一個UILabel文字標簽(藍色)

    一個UIImageView圖片控件(默認在文字左邊)(橘紅色)

    一個UIImageView背景圖片空間(在文字和圖片空間的下面)(***)

其中后兩個子視圖,可以不顯示數據

    UIKit框架(18)UIButton和UITextField

    UIKit框架(18)UIButton和UITextField

設置數據必須指明是哪個狀態下:

- (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子類

按鈕是界面中最常出現的元素,為了定制各種想要的按鈕效果,經常實現UIButton子類

可以實現以下效果:

1)UIButton屬性的設置封裝到構造方法中

2)去掉某些自帶效果

    比如去掉高亮狀態時的陰影效果,重寫highlighted屬性的setter方法:什么也不做

3)修改該文字標簽和圖片的相對位置

    重寫以下方法:

- (CGRect)contentRectForBounds:(CGRect)bounds
- (CGRect)p_w_picpathRectForContentRect:(CGRect)contentRect
- (CGRect)titleRectForContentRect:(CGRect)contentRect


  • UITextField上的各種子視圖

右側清除按鈕:

@property(nonatomic) UITextFieldViewMode clearButtonMode
typedef enum {
   UITextFieldViewModeNever,
   UITextFieldViewModeWhileEditing,
   UITextFieldViewModeUnlessEditing,
   UITextFieldViewModeAlways 
} UITextFieldViewMode;

左右側視圖,通常放置按鈕

@property(nonatomic, strong) UIView *leftView
@property(nonatomic, strong) UIView *rightView

左右側視圖顯示模式

@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添加按鈕
//...





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

象州县| 资讯| 铜川市| 枣阳市| 虹口区| 固安县| 泽普县| 昌乐县| 潮州市| 岫岩| 莒南县| 普陀区| 仙桃市| 大荔县| 平定县| 竹山县| 辉县市| 清丰县| 桐乡市| 漳平市| 滨海县| 林甸县| 正定县| 库尔勒市| 和静县| 修文县| 兴业县| 大余县| 宣化县| 轮台县| 隆回县| 武乡县| 叶城县| 濉溪县| 镇沅| 河池市| 手机| 桦川县| 五指山市| 阜南县| 奉节县|