iOS 為UIButton擴大點選響應區域

2021-07-31 14:00:41 字數 965 閱讀 3925

我們可以為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...