Cor da borda em qualquer visualização (ou na subclasse UIView) também pode ser definido usando o storyboard com um pouco de codificação e essa abordagem pode ser realmente útil se você estiver definindo a cor da borda em vários objetos da interface do usuário.
Abaixo estão as etapas de como alcançá-lo,
- Crie uma categoria na classe CALayer. Declare uma propriedade do tipo UIColor com um nome adequado, que eu chamarei de borderUIColor .
- Escreva o setter e o getter para esta propriedade.
- No método 'Setter', basta definir a propriedade "borderColor" da camada para o novo valor CGColor das cores.
- No método 'Getter', retorne UIColor com borderColor da camada.
PS: Lembre-se, as categorias não podem ter propriedades armazenadas. 'borderUIColor' é usado como uma propriedade calculada, apenas como uma referência para atingir o que estamos focando.
Por favor, dê uma olhada no exemplo de código abaixo;
Objetivo C:
Arquivo de interface:
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@interface CALayer (BorderProperties)
// This assigns a CGColor to borderColor.
@property (nonatomic, assign) UIColor* borderUIColor;
@end
Arquivo de implementação:
#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, finalmente, vá para o seu storyboard / XIB, siga as etapas restantes;
- Clique no objeto Exibir para o qual você deseja definir a Cor da borda.
- Clique em "Identity Inspector" (terceiro da esquerda) no painel "Utility" (lado direito da tela).
- Em "Atributos de tempo de execução definidos pelo usuário", clique no botão "+" para adicionar um caminho de chave.
- Defina o tipo do caminho da chave como "Cor".
- Digite o valor para o caminho da chave como "layer.borderUIColor". [Lembre-se de que esse deve ser o nome da variável que você declarou na categoria, e não borderColor, aqui é borderUIColor ].
- Finalmente, escolha a cor que desejar.
Você deve definir o valor da propriedade layer.borderWidth como pelo menos 1 para ver a cor da borda.
Construa e execute. Feliz codificação. :)