2011-09-09 43 views
12

Voglio creare UIButton personalizzato con forma rettangolare. per questo sto usando la vista rettangolare come sfondo per UIButton e rendendo il colore di sfondo di UIbuttons come clearcolor. Ma il confine di UIbutton rimane ancora. qualche suggerimento su come far sparire il confine? Grazie per qualsiasi aiuto in anticipo ..UIButton con colore del bordo personalizzato, iPhone

+0

potrebbe essere un duplicato di http://stackoverflow.com/ domande/2808888/è-da-even-possibile-a-change-a-UIButtons-background-color. Controlla quella domanda. – jergason

+0

Questo non è un duplicato del ref che hai dato ... stanno discutendo sul colore di sfondo dove sta chiedendo il colore del bordo. – Prabh

+0

Potrebbe essere un duplicato di http://stackoverflow.com/questions/8162411/how-to-create-border-in-uibutton Buona fortuna – Ayaz

risposta

34

Prova questo:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [button.layer setBorderColor:[[UIColor clearColor] CGColor]]; 

ma non dimenticare di aggiungere nel vostro .h o il file .m

#import <QuartzCore/QuartzCore.h> 
+0

Grazie mille ... questo è esattamente quello che stavo cercando. – alekhine

+0

Grazie, funziona benissimo. – Xtrician

+1

è necessario aggiungere anche la larghezza del bordo: '[button.layer setBorderWidth: 1.0f];' – youssman

0

Si consiglia di impostare il tipo di vostra UIButton-Custom, non Rounded Rect (se si sta creando pulsante tramite IB).

Se si sta creando UIButton programmazione allora questo codice:

UIButton *but = [UIButton buttonWithType:UIButtonTypeCustom]; 

E dopo che si può fare il vostro proprio personalizzazioni.

11

ho sprecato qualche minuto e ottenuto frustrato che il confine non stava mostrando anche se stavo impostando la proprietà layer come suggerito sopra.

Quando ho impostato la larghezza utilizzando il seguente, ho visto il bordo del pulsante.

[[button layer] setBorderWidth:2.0f]; 
1

È possibile impostare le proprietà del bordo sul CALayer accedendo alla proprietà layer del pulsante.

Aggiungere al quarzo

#import <QuartzCore/QuartzCore.h> 

proprietà Set del pulsante:

[[myButton layer] setBorderWidth:2.0f]; 
[[myButton layer] setBorderColor:[UIColor AnyColor].CGColor]; 
0
button.layer.borderColor = UIColor.orangeColor().CGColor 

rapido esempio per il bordo arancio