2013-06-11 25 views
5

Mam następujące UIButton Chcę dodać obraz wewnątrz po prawej stronie. Jak accessoryViewDodaj obraz wewnątrz Uibutton jako akcesorium

jestem już przy użyciu backgroundImage i chcę uniknąć łącząc 2 obrazy do 1.

Czy można dodać kolejny obraz wewnątrz UIButton która jest AccesoryView powiedzmy obraz, który ma PLUS po prawej stronie? (Szukam sposób, aby wstawić nowy obraz wewnątrz Buttona)

enter image description here

@luisCien skomentować

Próbowałem

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

i wygląda to tak, chciałbym aby obraz znajdował się po prawej stronie tekstu. enter image description here

+0

o to bardzo proste rozwiązanie, które można po prostu zrobić przez IB: [http://stackoverflow.com/ a/11847383/5806009] (http://stackoverflow.com/a/11847383/5806009) –

Odpowiedz

13

Wystarczy dodać go jako podrzędny i wybierz coordinates..Try coś takiego:

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

można wykorzystywać własność UIButtoncontentHorizontalAlignment i ustawić ją na UIControlContentHorizontalAlignmentRight ten umieści obraz, dodać do niej do prawej.

Edit: Jak sugeruje @danypata można również użyć właściwości UIButton za imageEdgeInsets opuścić pewien margines wokół „accessoryView” tak:

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

Jeśli chodzi o tekst po lewej i obraz na prawo, uważam, że nie jest to możliwe (ktoś mnie poprawi). W tym celu powinienem utworzyć własny niestandardowy przycisk, dodając UIControl lub dodać UILabel i ustawić jego ramkę (w przeciwieństwie do używania UIButton 's setTitle:forState:) i dodać ją jako widok podz góry przycisku.

Mam nadzieję, że to pomoże!

+0

Szukam sposobu na wstawienie nowego obrazu wewnątrz. –

+1

Tak, to nie jest problem. UIButton ma dwie metody: jedna to "setBackgroundImage: forState:", a druga to "setImage: forState:". Dzięki temu możesz dodać dwa różne obrazy, jeden jako tło, a drugi jako "widok akcesoriów", który chcesz. Nie będzie kolizji – LuisCien

+0

Dzięki. Eddited moje pytanie, aby poprosić o nieco więcej wskazówek patrzeć na dole –

Powiązane problemy