2013-06-11 85 views
5

我有以下UIButton我想在最右邊添加一個圖像。就像一個accessoryView在UIButton中添加一個圖像作爲附件

我已經使用和backgroundImage和我想避免結合2個圖像轉換成1

是否有可能添加的UIButton這是一個AccesoryView可以說具有​​圖像內的另一個圖像到最右邊? (我期待的方式插入按鈕內部的新的圖像)

enter image description here

@luisCien評論

我試圖

[_addImage setImage:[UIImage imageNamed:@"shareMe"] forState:UIControlStateNormal]; 
    _addImage.contentHorizontalAlignment = 
     UIControlContentHorizontalAlignmentRight; 

,它看起來像這樣,我想使圖像位於文本的右側。 enter image description here

+0

這裏是一個非常簡單的解決方案,可以通過IB來簡單地完成:[http://stackoverflow.com/ a/11847383/5806009](http://stackoverflow.com/a/11847383/5806009) –

回答

13

只要將其添加爲一個子視圖,並選擇您coordinates..Try是這樣的:

UIImageView *yourPlusSign = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"yourPlusSignImageTitle"]]; 
yourPlusSign.frame = CGRectMake(x, y, width, height);//choose values that fit properly inside the frame of your baseButton 
//or grab the width and height of yourBaseButton and change accordingly 
yourPlusSign.contentMode=UIViewContentModeScaleAspectFill;//or whichever mode works best for you 
[yourBaseButton addSubview:yourPlusSign]; 
2

您可以使用UIButtoncontentHorizontalAlignment屬性,並將其設置爲UIControlContentHorizontalAlignmentRight這一點,你給它添加到最右邊的圖像將定位。

編輯: 作爲建議的@danypata你也可以用UIButton的財產imageEdgeInsets離開 一定的餘量在你的「accessoryView的」,像這樣:

[_addImage setImageEdgeInsets:UIEdgeInsetsMake(5, 0, 5, 10)]; 

關於其左邊的文字和圖像正確的,我相信這是不可能的(有人請糾正我)。爲此,我可以通過擴展UIControl或添加UILabel並設置其框架(與使用UIButtonsetTitle:forState:相反)並將其添加爲按鈕的子視圖來創建我自己的自定義按鈕。

希望這會有所幫助!

+0

我正在尋找一種方法來插入一個新的圖像。 –

+1

是的,這是沒有問題的。 UIButton有兩個方法,一個是'setBackgroundImage:forState:',另一個是'setImage:forState:'。多虧了這個,你可以添加兩個不同的圖像,一個作爲背景,另一個作爲你想要的'輔助視圖'。將不會有碰撞 – LuisCien

+0

謝謝。我編輯了我的問題,請求瞭解底部的更多指導 –

相關問題