Pergunta

eu tenho um NSColorWell, que está vinculado a uma propriedade que contém um NSString instância, que se transforma em um NSColor através do meu colortransformer (NSValueTransformer). Essencialmente transforma algo como #FF0000 em um NSColor. Isso funciona como esperado, mas o Colorwell não abre mais o painel quando clicado. Quando desabilito a ligação, ele funciona novamente. Alguma pista sobre o que estou fazendo de errado aqui?

Foi útil?

Solução

retornar sim em

+(BOOL)allowsReverseTransformation

O exemplo do Apple Docs tem que retornar não, no entanto, a implementação padrão retorna sim. O raciocínio por trás disso é, em teoria, é simples o suficiente: a Apple não deseja que seus usuários possam definir uma cor que falhará o aplicativo (sendo que uma transformação reversa não foi implementada). Você provavelmente deve implementar

- (id)reverseTransformedValue:(id)value

Para garantir que isso não aconteça, se você ainda não o fez. (Se você não é os documentos da Apple, diz que vai ligar - (id) transformedValue: (id) valor)

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