我試圖使UIButton
帶有背景圖像,其中圖像大於按鈕框架。使UIButton背景圖像大於框架
的問題是,在UIButton
會自動調節以適應圖像,並沒有找到一種方法來改變行爲。
我是否錯過了一些顯而易見的東西,或者是時候製作一個自定義按鈕了?
我試圖使UIButton
帶有背景圖像,其中圖像大於按鈕框架。使UIButton背景圖像大於框架
的問題是,在UIButton
會自動調節以適應圖像,並沒有找到一種方法來改變行爲。
我是否錯過了一些顯而易見的東西,或者是時候製作一個自定義按鈕了?
看起來像這個答案是。不可能通過UIButton
上的現有接口。
實現最簡單的方法似乎是使用自定義子類的UIButton
和創建與相同的幀UIButton
一個UIImageView
,關閉剪裁和縮放,然後就捕獲所有setBackground
方法和捕捉狀態的變化來處理「正常」按鈕交互改變背景圖像。
子類的UIButton並重寫
- (CGRect)backgroundRectForBounds:(CGRect)bounds;
方法,以便它返回你想要的大小。
提示:使用此方法也可以將背景居中。
爲什麼不只是讓按鈕框架的圖像大小? – bobnoble
下面是一個答案的比喻。圖像拼圖。它們不是正方形的,並且完美地組合在一起,但是你不能很好地將按鈕設置爲圍繞該片的最外部點的正方形,否則將會出現重疊的按鈕。你會想讓你按鈕成爲這件作品的主體,並讓這些小奇怪的東西垂在邊緣。 – DBD
現在我明白了......只是在'UIImageView'的頂部覆蓋一個'隱形'按鈕,顯示您的大圖像。該按鈕可以是適當的尺寸以防止與其他按鈕重疊/干擾。 – bobnoble