2012-08-22 64 views
3

我很難搞清楚我可以調整UIButton的imageView屬性。在文檔中,它說:調整UIButton的imageView屬性

儘管此屬性是隻讀的,但它自己的屬性是可讀/寫的。使用這些屬性來配置按鈕視圖的外觀和行爲。

我希望執行一個過渡,我縮小動畫中按鈕的大小,並且我希望按鈕的圖像也相應地縮小。但是,我發現我無法控制該圖像的大小。如果我修改框架或UIButton的imageView屬性的邊界,似乎沒有任何事情發生。圖像似乎想保留它的標準尺寸。更改按鈕上imageView或contentMode屬性的自動佈局屬性似乎也沒有幫助。

事實上,似乎唯一可行的是使用UIEdgeInsetsMake來「擠壓」來自各方的圖像,但這不是可動畫的。

我不想使用backgroundImage屬性,因爲我已經在使用它來設置按鈕的樣式。

回答

3

您可以將自己的UIImageView作爲子視圖添加到UIButton中,而不是使用「嵌入」imageView。 您可以像通常相對於周圍的UIButton一樣設置「您的」圖像視圖的框架。你將完全控制它的位置,你也可以對它進行動畫處理。

+0

對我來說似乎很奇怪,有必要這樣做,但對於解決方法來說是個好主意。 – beno

+1

對於iOS7,您可以使用imageEdgeInsets,例如'[self.rightBarButton setImageEdgeInsets:UIEdgeInsetsMake(0.0,self.rightBarButton.frame.size.width - image.size.width - 10.0,0.0,0.0)];' – JohnQ