亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

iPhone How-to:如何實現Checkbox

發布時間:2020-06-24 22:03:24 來源:網絡 閱讀:2821 作者:benjielin 欄目:開發技術

   在iPhone開發中UISwitch相當于其他UI庫中的Checkbox,使用的時候推薦優先選用。但有些人還是會尋求在應用中使用他們更為熟悉的Checkbox,在一次項目的開發中我就遇到了這樣的需求。本文將探討一種比目前很多實現(比如iPhone UIButton tutorial : Custom Checkboxes)都更簡潔的方案,主要原理就是充分利用UIButton的selected屬性。

Checkbox聲明:

@interface CheckBox : UIButton {
}

@end

Checkbox實現:
@implementation CheckBox

- (id)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        [self initilization];
    }
    return self;
}

- (id)initWithCoder:(NSCoder *)aCoder {
    if (self = [super initWithCoder:aCoder]) {
        [self initilization];
    }
    return self;
}

- (void)initilization {
    [self removeTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
    [self addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];
}

- (void)onClick: (id)sender {
    self.selected = ![self isSelected];
}

@end

 

其中,initWithFrame和initWithCoder分別用于支持代碼創建和IB創建CheckBox時的初始化工作,并在初始化時添加一個點擊時的處理函數onClick。onClick用于選擇狀態取反。實際應用可以對UIControlEventTouchUpInside事件添加實際需要的處理函數。

 

簡單吧!能夠這樣實現的原因就在于UIButton有Normal、Active、Selected以及Disabled等多種狀態,本質上是包含了Checkbox所需的功能。通過上述的繼承可以封裝了點擊后狀態取反的邏輯,使得在將UIButton當做Checkbox使用的場景下更友好!

向AI問一下細節

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

AI

龙川县| 休宁县| 连城县| 南投县| 乐平市| 得荣县| 行唐县| 井陉县| 交口县| 黎城县| 商南县| 尼木县| 鄂州市| 内丘县| 嘉义市| 沐川县| 浮梁县| 陵水| 永顺县| 杭锦后旗| 孟津县| 大同市| 夹江县| 邹城市| 棋牌| 泗阳县| 平安县| 东乌珠穆沁旗| 南召县| 当阳市| 内江市| 新安县| 修水县| 鸡东县| 北票市| 新乐市| 江城| 共和县| 白河县| 福海县| 腾冲县|