domingo, 26 de fevereiro de 2017

Dicas de Programação: Criando um custom UIView em Objective-C (iOS)

Faz tempo que não dou dicas de programação (vai ver, estou preguiçoso...), então achei melhor voltar com isso... :)

Vamos tentar, de maneira simples, criar um componente customizado em Objective-C.

Para isso, a maneira mais simples é herdar da classe UIView e reescrever o método drawRect:

//interface RTCustomView.h
#import

@interface RTCustomView : UIView
//Criando propriedade "inspecionável" para a cor da elipse
@property IBInspectable (strong, nonatomic) UIColor* ellipseColor;
@end

//implementação RTCustomView.m
#import "RTCustomView.h"
@implementation RTCustomView
- (void) drawRect:(CGRect) rect {
       //Chama o método reescrito da classe pai
       [super drawRect:rect];
       //Obtém o contexto gráfico atual
       CGContextRef currentContext = UIGraphicsGetCurrentContext();
       //Utiliza a cor passada pela propriedade da classe
       CGContextSetFillColorWithColor(currentContext, self. ellipseColor.CGColor);
       //Desenha a elipse do tamanho da tela
       CGContextFillEllipseInRect(currentContext, rect);
       //Atualiza o contexto gráfico
       CGContextFlush(currentContext);
       //Desaloca a memória da variável currentContext
       CGContextRelease(currentContext);
}
@end

Pronto, você tem um componente customizado que faz uma elipse. :)

Até mais!

Nenhum comentário: