UIButton 按鈕

介紹:UIButton的類是一個(gè)UIControl子類,它實(shí)現(xiàn)了在觸摸屏上的按鈕。觸摸一個(gè)按鈕攔截事件和動(dòng)作消息發(fā)送到目標(biāo)對(duì)象時(shí)。設(shè)定的目標(biāo)和行動(dòng)方法都繼承自UIControl。這個(gè)類提供了方法來(lái)設(shè)置標(biāo)題,圖像骂维,按鈕等外觀屬性。通過使用set方法贺纲,你可以指定一個(gè)不同的外觀為每個(gè)按鈕狀態(tài)航闺。

創(chuàng)建使用步驟:

1.UIButton*btn = [UIButtonbuttonWithType:UIButtonTypeCustom];//創(chuàng)建對(duì)象

2.[self.viewaddSubview:btn];//添加按鈕

3.btn.frame=CGRectMake(100,100,100,100);//設(shè)置按鈕的位置和尺寸,才能顯示

4.btnaddTarget:selfaction:@selector(btnClick)//監(jiān)聽按鈕的點(diǎn)擊事件forControlEvents:UIControlEventTouchUpInside];監(jiān)聽按鈕點(diǎn)擊(點(diǎn)擊按鈕后就會(huì)調(diào)用self的btnClick方法) //都能調(diào)用void和IBactionTarget目標(biāo)(讓誰(shuí)做事情)—>控制器action方法(做什么事情)Events事件(當(dāng)按鈕觸發(fā)某事件)點(diǎn)擊按鈕內(nèi)部并松手

類方法:

UIButton*btn = [UIButtonbuttonWithType:UIButtonTypeCustom]; //按鈕類型

創(chuàng)建的button類型有以下6種,

typedef enum {

UIButtonTypeCustom = 0, 自定義風(fēng)格

UIButtonTypeRoundedRect,圓角矩形

UIButtonTypeDetailDisclosure, 藍(lán)色小箭頭按鈕猴誊,主要做詳細(xì)說明用

UIButtonTypeInfoLight, 亮色感嘆號(hào)

UIButtonTypeInfoDark, 暗色感嘆號(hào)

UIButtonTypeContactAdd, 十字加號(hào)按鈕

} UIButtonType;

刪除事件處理

[btn removeTarget:nil action:nil forControlEvents:UIControlEventTouchUpInside];

UIButton潦刃、UILabel、UITextField都繼承自UIView

屬性:

1.Frame屬性

第2種方法創(chuàng)建按鈕后你可以給按鈕的frame屬性賦值懈叹,用一個(gè)CGRect結(jié)構(gòu)設(shè)置他的位置和大小

CGRect btn2Frame = CGRectMake(10.0, 10.0, 60.0, 44.0);

btn2.frame =btn2Frame;

2. title屬性

對(duì)于任何特定狀態(tài)下的按鈕乖杠,都可以設(shè)定該按鈕該狀態(tài)下的按鈕標(biāo)題。用setTitle 方法 設(shè)置即可:

[btn1 setTitle:@"BTN1" forState:UIControlStateNormal];

3. image屬性

你也可以為按鈕的某一狀態(tài)設(shè)置為圖澄成。用 setImage 即可:

[btn2 setImage:[UIImage imageNamed:@"pic"] forState:UIControlStateNormal];

4. Color屬性

此外胧洒,你還可以為每種按鈕狀態(tài)設(shè)置標(biāo)題的顏色和陰影,以及按鈕的背景墨状。方法 setTitleColor 和 setTitleShadowColor 都需要一個(gè)UIColor對(duì)象做參數(shù):

[btn1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];//設(shè)置標(biāo)題顏色

[btn1 setTitleShadowColor:[UIColor grayColor] forState:UIControlStateNormal ];//陰影

[btn1 setBackgroundImage:[UIImage imageNamed:@"PIC"] forState:UIControlStateHighlighted];//背景圖像

5.使用時(shí)狀態(tài)

上面幾個(gè)方法都提到 共同的參數(shù) forState . 這個(gè)參數(shù)決定了標(biāo)題卫漫、圖像或其他屬性將在何種狀態(tài)下顯現(xiàn)。你可以編程令按鈕在那個(gè)狀態(tài)變化

enum {

UIControlStateNormal?????? = 0,??//常態(tài)

UIControlStateHighlighted??= 1 << 0,??????????????????// used when UIControl isHighlighted is set 高亮

UIControlStateDisabled???? = 1 << 1,??//禁用

UIControlStateSelected???? = 1 << 2,??????????????????// flag usable by app (see below) 選中

UIControlStateApplication??= 0x00FF0000,??????????????// additional flags available for application use 當(dāng)應(yīng)用程序標(biāo)志使用時(shí)

UIControlStateReserved???? = 0xFF000000?????????????? // flags reserved for internal framework use??為內(nèi)部框架預(yù)留的

};

typedef NSUInteger UIControlState;

設(shè)置按鈕按下會(huì)發(fā)光

button.showsTouchWhenHighlighted=NO;

設(shè)置按鈕內(nèi)部圖片間距和標(biāo)題間距

UIEdgeInsets insets; // 設(shè)置按鈕內(nèi)部圖片間距

insets.top = insets.bottom = insets.right = insets.left = 20;

bt.contentEdgeInsets = insets;

bt.titleEdgeInsets = insets; // 標(biāo)題間距

提示:

·按鈕的背景顏色background color不能分狀態(tài),因?yàn)槔^承UIView [對(duì)象 setbackgroundColor] 沒狀態(tài)

·默認(rèn)加入內(nèi)容image(及其文字title)圖片水平居中 //通過Control屬性的alignment屬性修改對(duì)齊,最后個(gè)(水平對(duì)齊)能使圖片拉伸【第一次在IB中添加會(huì)是圖片尺寸大小】【backimage會(huì)是按鈕大小(拉伸壓縮)】

·默認(rèn)背景圖片background會(huì)被拉伸,按鈕圖片都能被壓縮(控件尺寸小于圖片)

·不能直接修改對(duì)象的buttonType屬性(readonly),只能在初始化創(chuàng)建時(shí)候設(shè)置 ,設(shè)置狀態(tài)時(shí)設(shè)置按鈕文字圖片

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肾砂,一起剝皮案震驚了整個(gè)濱河市列赎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镐确,老刑警劉巖包吝,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饼煞,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡诗越,警方通過查閱死者的電腦和手機(jī)砖瞧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掺喻,“玉大人芭届,你說我怎么就攤上這事储矩「邪遥” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵持隧,是天一觀的道長(zhǎng)即硼。 經(jīng)常有香客問我,道長(zhǎng)屡拨,這世上最難降的妖魔是什么只酥? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮呀狼,結(jié)果婚禮上裂允,老公的妹妹穿的比我還像新娘。我一直安慰自己哥艇,他們只是感情好绝编,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著貌踏,像睡著了一般十饥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祖乳,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天逗堵,我揣著相機(jī)與錄音,去河邊找鬼眷昆。 笑死蜒秤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的亚斋。 我是一名探鬼主播垦藏,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼伞访!你這毒婦竟也來(lái)了掂骏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厚掷,失蹤者是張志新(化名)和其女友劉穎弟灼,沒想到半個(gè)月后级解,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡田绑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年勤哗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掩驱。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芒划,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出欧穴,到底是詐尸還是另有隱情民逼,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布涮帘,位于F島的核電站拼苍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏调缨。R本人自食惡果不足惜疮鲫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弦叶。 院中可真熱鬧俊犯,春花似錦、人聲如沸伤哺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)默责。三九已至贬循,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桃序,已是汗流浹背杖虾。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留媒熊,地道東北人奇适。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像芦鳍,于是被迫代替她去往敵國(guó)和親嚷往。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容