2012-10-19 70 views
0

我試圖使UIButton帶有背景圖像,其中圖像大於按鈕框架。使UIButton背景圖像大於框架

的問題是,在UIButton會自動調節以適應圖像,並沒有找到一種方法來改變行爲。

我是否錯過了一些顯而易見的東西,或者是時候製作一個自定義按鈕了?

+0

爲什麼不只是讓按鈕框架的圖像大小? – bobnoble

+0

下面是一個答案的比喻。圖像拼圖。它們不是正方形的,並且完美地組合在一起,但是你不能很好地將按鈕設置爲圍繞該片的最外部點的正方形,否則將會出現重疊的按鈕。你會想讓你按鈕成爲這件作品的主體,並讓這些小奇怪的東西垂在邊緣。 – DBD

+0

現在我明白了......只是在'UIImageView'的頂部覆蓋一個'隱形'按鈕,顯示您的大圖像。該按鈕可以是適當的尺寸以防止與其他按鈕重疊/干擾。 – bobnoble

回答

0

看起來像這個答案是。不可能通過UIButton上的現有接口。

實現最簡單的方法似乎是使用自定義子類的UIButton和創建與相同的幀UIButton一個UIImageView,關閉剪裁和縮放,然後就捕獲所有setBackground方法和捕捉狀態的變化來處理「正常」按鈕交互改變背景圖像。

2

子類的UIButton並重寫

- (CGRect)backgroundRectForBounds:(CGRect)bounds; 

方法,以便它返回你想要的大小。

提示:使用此方法也可以將背景居中。