borderColor in ogni caso (o UIView sottoclasse) potrebbe anche essere impostato utilizzando lo storyboard con un po 'di codifica e questo approccio potrebbe essere davvero utile se stai impostando il colore del bordo su più oggetti dell'interfaccia utente.
Qui di seguito sono i passi come raggiungerlo,
- creare una categoria sulla classe di CALayer. Dichiarare una proprietà di tipo UIColor con un nome appropriato, lo chiamerò come borderUIColor.
- Scrivi il setter e il getter per questa proprietà.
- Nel metodo "Setter" è sufficiente impostare la proprietà "borderColor" del layer sul nuovo valore CGColor dei colori.
- Nel metodo 'Getter' restituisce UIColor con borderColor di livello.
P.S: ricordare che le categorie non possono avere proprietà memorizzate. 'borderUIColor' viene utilizzato come proprietà calcolata, proprio come riferimento per ottenere ciò su cui ci stiamo concentrando.
Si prega di dare un'occhiata al seguente codice di esempio;
Objective C:
Interface File:
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@interface CALayer (BorderProperties)
// This assigns a CGColor to borderColor.
@property (nonatomic, assign) UIColor* borderUIColor;
@end
Attuazione File:
#import "CALayer+BorderProperties.h"
@implementation CALayer (BorderProperties)
- (void)setBorderUIColor:(UIColor *)color {
self.borderColor = color.CGColor;
}
- (UIColor *)borderUIColor {
return [UIColor colorWithCGColor:self.borderColor];
}
@end
Swift 2.0:
extension CALayer {
var borderUIColor: UIColor {
set {
self.borderColor = newValue.CGColor
}
get {
return UIColor(CGColor: self.borderColor!)
}
}
}
E infine andare al tuo storyboard/XIB, seguire i passaggi rimanenti;
- Fare clic sull'oggetto Visualizza per il quale si desidera impostare Colore bordo.
- Fare clic su "Identity Inspector" (3 ° da sinistra) nel pannello "Utility" (lato destro dello schermo).
- In "Attributi runtime definiti dall'utente", fare clic sul pulsante "+" per aggiungere un percorso chiave.
- Impostare il tipo di percorso chiave su "Colore".
- Immettere il valore per il percorso chiave come "layer.borderUIColor". [Ricorda che questo dovrebbe essere il nome della variabile che hai dichiarato nella categoria, non borderColor qui è borderUIColor].
- Infine, scegli il colore che desideri.
Hai per impostare layer.borderWidth valore della proprietà per almeno 1 per vedere il colore del bordo.
Build and Run. Happy Coding. :)
fonte
2015-12-14 19:56:50
E ' #import invece di QuartCore (hai dimenticato la z) –
cldrr
In iOS 7 devi impostare una larghezza del bordo o il colore non ha effetto. – Micah
Come principiante non ha senso per me. Se avvio un'app vuota, vai allo storyboard e aggiungi un campo TextView. Dove posso importare il quartzcore? Dove posso aggiungere le informazioni su borderwidth sopra? Che cos'è "textField" e come fa a sapere di quale campo di testo sto parlando? –