2010-03-31 15 views
5

Sto provando a disegnare un normale arrotondato retto UIButton, ma senza il bordo. Idealmente, mi piacerebbe poter modificare alcune impostazioni su UIButton per disabilitare il bordo.Uebutton Rect arrotondato senza bordo

Il mio problema è che se cambio il tipo di pulsante su "personalizzato", non ottengo il gradiente di selezione blu bello (che voglio mantenere), e non ho idea di come disegnarlo manualmente.

risposta

2

Ho usato un UISegmentedControl con solo un segmento per questo. Puoi usare tintColor per ottenere un gradiente gradevole. Le connessioni agli eventi sono leggermente diverse ma non un grosso problema.

This answer fornisce ulteriori dettagli.

+0

Ho finito per andare con questo. Non fornisce lo sfondo bianco solido, ed il controllo segmentato ha ancora il confine, ma era abbastanza vicino a quello che stavo cercando di fare. –

4

Cambia il tipo di pulsante in personalizzato. C'è un menu a discesa proprio sotto per "Predefinito", "Evidenziato", "Selezionato", ecc. Crea un gradiente blu, impostalo come immagine per "Configurazione stato evidenziato". Questo dovrebbe darti il ​​gradiente blu quando lo evidenzi. Se lo vuoi quando è selezionato, usa la configurazione "Selezionata".

+0

Idealmente mi piacerebbe utilizzare solo la forma built-in gradiente di blu e mantenere la arrotondato-rect. –

+0

non pensare che tu possa - se vuoi la forma retta arrotondata, modellare correttamente il gradiente e le tue immagini personalizzate come il retto arrotondato. sfortunatamente, penso che dovrai fingere invece di usare la lucentezza di mela. – saramah

+0

Si può anche provare a utilizzare la proprietà 'button.layer.cornerRadius'. – Bill

0

È possibile utilizzare il tipo personalizzato di UIButton. E imposta l'immagine appropriata come sfondo di UIButton.

+0

Sì, so che posso farlo (lo dico nella domanda). La mia domanda è se riesco a rimuovere il bordo * senza * rendendolo un pulsante personalizzato. –

0

provare questo codice,

button.layer.borderWidth = 3;  
button.layer.borderColor = [UIColor whiteColor].CGColor; 
Problemi correlati