ios開(kāi)發(fā)自定義checkbox控件
來(lái)源:易賢網(wǎng) 閱讀:860 次 日期:2014-11-18 11:16:45
溫馨提示:易賢網(wǎng)小編為您整理了“ios開(kāi)發(fā)自定義checkbox控件”,方便廣大網(wǎng)友查閱!

ios本身沒(méi)有系統(tǒng)的checkbox組件,但是實(shí)際開(kāi)發(fā)中會(huì)經(jīng)常用到,所以專(zhuān)門(mén)寫(xiě)了一個(gè)checkbox控件,直接上代碼

效果圖:

名單

uicheckboxbutton.h文件如下:

#import

#import common.h

@interface uicheckboxbutton : uicontrol

{

uilabel *label;

uiimageview *icon;

bool checked;

id delegate;

}

@property (retain, nonatomic) id delegate;

@property (retain, nonatomic) uilabel *label;

@property (retain, nonatomic) uiimageview *icon;

-(bool)ischecked;

-(void)setchecked: (bool)flag;

@end

uicheckboxbutton.m文件如下:

#import uicheckboxbutton.h

@implementation uicheckboxbutton

@synthesize label,icon,delegate;

- (id)initwithframe:(cgrect)frame {

if ( self = [super initwithframe: frame])

{

icon =[[uiimageview alloc] initwithframe: cgrectmake (0, 0, frame.size.height, frame.size.height)];

[self setchecked:no];

[self addsubview: icon];

label =[[uilabel alloc] initwithframe: cgrectmake(icon.frame.size.width + 7, 0,

frame.size.width - icon.frame.size.width - 10,

frame.size.height)];

label.backgroundcolor =[uicolor clearcolor];

label.textalignment = uitextalignmentleft;

[self addsubview:label];

[self addtarget:self action:@selector(clicked) forcontrolevents: uicontroleventtouchupinside];

}

return self;

}

-(bool)ischecked {

return checked;

}

-(void)setchecked: (bool)flag {

if (flag != checked)

{

checked = flag;

}

if (checked)

{

[icon setimage: [uiimage imagenamed:@checkboxselect.png]];

}

else

{

[icon setimage: [uiimage imagenamed:@checkboxnoselect.png]];

}

}

-(void)clicked {

[self setchecked: !checked];

if (delegate != nil)

{

sel sel = nsselectorfromstring (@checkbuttonclicked);

if ([delegate respondstoselector: sel])

{

[delegate performselector: sel];

}

}

}

-(void)dealloc {

delegate = nil;

[label release];

[icon release];

[super dealloc];

}

@end

使用方法:

uicheckboxbutton *checkboxbutton = [[ uicheckboxbutton alloc] initwithframe: cgrectmake(30, 50, 220, 25)];

checkboxbutton.delegate = self.delegate;

checkboxbutton.label.text = [common gettextbytag:@nocostprompt];

checkboxbutton.label.textcolor = [common getcolorbytag:@alertlabelcolor];

[self.view addsubview:checkboxbutton];

[checkboxbutton release];

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看技術(shù)文章
易賢網(wǎng)手機(jī)網(wǎng)站地址:ios開(kāi)發(fā)自定義checkbox控件
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話(huà):0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)