Pergunta

I parecem gostar de projetar nova UIViews e UIControls que implementar seu próprio método -drawRect:. Este trabalho bem para mim, especialmente quando composta usando UIViews em Interface Builder .

Mas compondo-as em Interface Builder é chato, porque eles só aparecem como chato retângulos simples.

Seria ótimo se os pontos de vista seria realmente tornar-se como o built-in controles fazer.

Existe alguma maneira eu posso estruturar meu projeto para que Interface Builder irá processar meus pontos de vista personalizados?

Foi útil?

Solução

A fim de fazer isso, você realmente tem que criar um plug-in para o Interface Builder que usa sua classe personalizada. Depois de criar e instalar o plug-in, você será capaz de arrastar e soltar instâncias de sua classe (sua visão) na outra janela / vista / whatever como qualquer outro controle. Para começar com a criação de IB Plug-Ins, consulte o interface Builder plug-In Guia de Programação . Além disso, eu recomendo dar uma olhada livro de Aaron Hillegass, programação Cocoa para Mac OS X . Para além de ser muito bem escrito e fácil de entender, tem um capítulo sobre a criação de seus próprios controles IB paleta.

Outras dicas

Isso é possível, marcando sua subclasse UIView com @IBDesignable. Depois de fazer isso, suas exibições personalizadas irá processar-se em Interface Builder. Você pode até mesmo adicionar parâmetros que podem ser configurados por marcando-os como @IBInspectable. Aqui está um exemplo rápido:

@IBDesignable class customView: UIView {

    @IBInspectable var count: Int = 0

}

Há uma href="http://nshipster.com/ibinspectable-ibdesignable/" rel="nofollow artigo em NSHipster que fornece mais detalhes.

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