Pergunta

Como você subclasse CALayer para que você retornar uma camada com styling propriedades já definido?

Assim que:

MyCustomLayer *layer = [MyCustomLayer layer];

criaria uma camada com estas propriedades;

layer.backgroundColor = sweetBackgroundColor.CGColor;
layer.borderColor = sweetBorderColor.CGColor;

layer.borderWidth = 2.0;
layer.cornerRadius = 8.0;

Assim que eu posso apenas definir sua estrutura e adicioná-lo à árvore.

Mas eu acho que a minha pergunta realmente só poderia ser, como você subclasse um objeto para que ele tenha propriedades já definido na criação. Possível?

Foi útil?

Solução

-init Apenas override (o designado initializer para CALayer) na sua subclasse, e definir essas propriedades em sua substituição. Qualquer método de criação, incluindo -layer, deve acabar encaminhamento através do inicializador designado, ou seja, a sua configuração extra vai acontecer mesmo para os construtores de conveniência.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top