? ? ? 經常遇到UIButton對象"點了沒反應"或"很難被點擊到"的情況. 有時候是因為其frame的size設置的過小, 導致體驗不好.?
? ? ? 解決辦法當然是擴大按鈕的響應范圍. 若僅僅是為一個簡單的button自定義的擴張響應的"rect", 我的做法是寫一個分類, 設置供外界存取的"邊緣擴張大小"屬性以及合適的方法, 然后重寫系統方法hitTest:withEvent:以攔截事件分發. 注意, 因為分類不會合成屬性的存取方法(合成屬性會生成實例變量, 然而ivar存儲在只讀段, 運行時不可改變), 須配合關聯語法使用. 話不多說, 上代碼:
.h
.m
.m