我們可以為uibutton建立乙個category,然後利用runtime的繫結屬性,來擴大響應區域。
先看一下.h檔案裡的,只宣告了乙個函式。使用的時候直接利用這個函式擴大四周的響應區域。
#import @inte***ce uibutton (enlargetouchaera)
- (void)setenlargeedgewithtop:(cgfloat) top right:(cgfloat) right bottom:(cgfloat) bottom left:(cgfloat) left;
@end
下面是.m檔案的實現部分,首先定義四個靜態變數,是用來儲存上下左右的標誌。
然後重寫hittest函式,裡面使用了我們自定義的enlargedrect方法。
#import "uibutton+enlargetouchaera.h"
#import static char topnamekey;
static char rightnamekey;
static char bottomnamekey;
static char leftnamekey;
@implementation uibutton (enlargetouchaera)
- (void)setenlargeedgewithtop:(cgfloat)top right:(cgfloat)right bottom:(cgfloat)bottom left:(cgfloat)left
- (uiview *)hittest:(cgpoint) point withevent:(uievent*) event
return cgrectcontainspoint(rect, point) ? self : nil;
}- (cgrect)enlargedrect else
}@end
擴大UIButton 響應區域
根據設定按鈕方法可分為兩種方式 1.setimage 設定內容顯示模式為居中,然後再設定的邊距和按鈕的大小 button imageview setcontentmode uiviewcontentmodecenter button setimage uiimage imagenamed png f...
iOS開發基礎 UIButton
今天開始寫ios開發基礎,自己要開始做乙個專案,好用來找第乙份實習工作,開始記錄我學習ios開發的過程。以下是寫在viewcontroller.m檔案下的。viewcontroller.m 01 button created by linjia on 15 8 22.import viewcontr...
UIButton 按鈕控制項 IOS開發
uibutton是乙個標準的uicontrol控制項,所以如果你對uicontrol不甚了解還是先看一下我的另一篇博文 uicontrol ios控制項程式設計 一 建立 兩種方法 1.常規的 initwithframe uibutton btn1 uibutton alloc initwithfr...