91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

巴中市| 新安县| 西畴县| 郸城县| 罗田县| 安远县| 涿鹿县| 大厂| 信阳市| 本溪| 巴彦县| 通江县| 唐河县| 长子县| 兴安县| 海兴县| 乐清市| 青海省| 高阳县| 嘉善县| 松阳县| 涡阳县| 闽侯县| 双鸭山市| 潼南县| 元阳县| 华宁县| 师宗县| 拉萨市| 新平| 红桥区| 吴堡县| 巴中市| 临沂市| 漠河县| 罗城| 莱西市| 宣武区| 尉氏县| 堆龙德庆县| 莱芜市|