2012-06-18 3 views
45

Sto cercando di avere un bordo intorno a uno UIView Devo solo separarlo visivamente dalla vista principale.C'è un modo semplice per aggiungere un bordo a una vista in Xcode per iOS 5.1

Ho cercato le impostazioni per lo UIView nell'editor di storyboard ma non riesco a trovare nulla per l'impostazione di un bordo.

C'è un modo semplice per farlo nel codice?

+2

possibile duplicato di [Cocoa Touch: Come modificare il colore e lo spessore del bordo di UIView?] (Http://stackoverflow.com/questions/3330378/cocoa-touch-how-to-change-uiviews-border-color-and -thickness) –

risposta

1

Con questo bordo, lo sfondo appare ancora dietro. In altre parole, il bordo non è proiettato all'esterno della vista, ma nello spazio interno.

Penso che sia necessario creare una vista sovrapposta dietro il proprietario con dimensioni (larghezza x altezza) aumentate con la dimensione del bordo.

22

Con Swift e XCode 6 è possibile farlo.

Fare clic sull'elemento UIView in Storyboard e andare su Identificatore identità. Negli attributi di runtime definiti dall'utente, immettere:

layer.borderWidth number 1 

Se volete belle curve alla ricerca

layer.cornerRadius number 5 
layer.masksToBounds boolean true 

Ora questo vi darà un bordo, ma per impostare il colore che avete bisogno di farlo con il codice. Vai al tuo controller di visualizzazione e aggiungi un IBOutlet dal tuo UIView. Dici che,

@IBOutlet weak var xView: UIView! 

Chiamata questo nella funzione viewDidLoad come qui di seguito per impostare il colore.

xView.layer.borderColor = UIColor.whiteColor().CGColor 

Grazie!

+0

perché devi definire il colore nel codice? C'è il campo 'layer.borderColor color red', ma questo non funziona. Puoi spiegare perché? – MMachinegun

+0

Ho trovato un modo in cui il colore si aggiorna nello storyboard :) Vedi la mia risposta http://stackoverflow.com/a/29074130 – MMachinegun

+2

Xcode: perfettamente intuitivo ** shakes head ** –