2013-05-20 12 views
22

Desidero impostare il bordo di uno UITextView o uno UILabel in uno Storyboard. Può essere fatto?È possibile impostare il bordo di UITextView o UILabel nello storyboard?

Programmaticamente, è setBorderColor e setBorderWidth.

Ma il bordo può essere impostato in uno storyboard?

+0

Si prega di checkout questi link: - http://stackoverflow.com/questions/8716446/uitextview -issue http://stackoverflow.com/questions/9392219/outline-to-uilabel-text – IronManGill

risposta

60

Come precedentemente sottolineato, queste proprietà fanno parte di un livello, non parte di una vista. Ma puoi ancora impostare i loro valori in IB. Come sottolineato da hypercrypt, è possibile utilizzare gli attributi del runtime definito dall'utente. Poiché tutte le viste hanno una proprietà "layer", puoi ad esempio impostare "layer.borderWidth".

Ecco un caso, in cui sto modificando l'angoloRadius. Funziona alla grande.

enter image description here

+3

OK. addendum. Non puoi impostare borderColor in questo modo. Ma puoi impostare borderWidth (e cornerRadius). Non so perché questo, sfortunatamente. Forse quando imposti un colore come attributo, stai cercando un UIColor, ma CALayer vuole un CGColor? –

+0

Questo ha funzionato. E layer.cornerRadius ha funzionato anche OK. Sto usando xcode 4.6.2 e l'ho testato su iPhone 5 e simulatore. –

+0

@DanMorrow Sì, quando si imposta un Attributo runtime definito dall'utente come tipo "Colore", significa "UIColor", non un "CGColor". Puoi comunque ottenere il comportamento desiderato (essere in grado di impostare il colore del bordo da Interface Builder), ma avrai bisogno di una sottoclasse 'UIView' personalizzata con una proprietà' UIColor' che imposterai dallo storyboard e il codice che applica quel colore a il bordo, e quindi dovrai nidificare le tue visualizzazioni nello storyboard all'interno delle istanze di tale sottoclasse. Se questo è più fastidioso di quello che vale, viene lasciato come una domanda per il lettore. –

1

Se ci si rivolge iOS 6+ è possibile utilizzare il Runtime Definito attributi utente nel Identity Inspector per impostare tutte le proprietà. Le prestazioni non sono un problema per nessuno, quindi non importa.

3

utilizzo semplice codice a .m, esso esposizione frontalieri in vista

view.layer.cornerRadius = 5.0f; 
view.layer.masksToBounds = NO; 
view.layer.borderWidth = .5f; 
view.layer.shadowColor = [UIColor orangeColor].CGColor; 
view.layer.shadowOpacity = 0.4; 
view.layer.shadowRadius = 5.0f; 
+0

la domanda è come farlo nello storyboard . – thesummersign

Problemi correlati