2011-12-24 1 views
0

Mon application dispose d'une fenêtre de préférences avec une barre d'outils. Son onglet de préférences est un objet NSView distinct. Lorsque je place des boutons standard, des boîtes, etc. dans chaque vue, la commutation entre les onglets fonctionne à merveille, mais lorsque j'ajoute des boîtes ou des vues personnalisées, les objets personnalisés deviennent invisibles après avoir basculé entre les onglets.Objet d'interface personnalisé invisible après la commutation entre les onglets

Comment résoudre ce problème?

Notez que j'utilise la méthode drawLayer: dans chaque objet personnalisé. Je marque la case "layer" dans IB pour la vue d'ensemble.

Répondre

0

Vous ne devez pas utiliser la couche implicite sur une vue avec couche pour effectuer un dessin personnalisé. Bien que cela fonctionne parfois, il n'est pas supporté. Au lieu de cela, vous devez créer votre propre objet CALayer et l'ajouter à la couche implicite de la vue en utilisant [self.layer addSublayer:yourCustomLayer]. Vous devez ensuite définir votre objet en tant que délégué du calque et implémenter drawLayer:inContext: pour créer votre dessin personnalisé.

+0

Cela n'a pas fonctionné. Je crée un nouveau projet, ajoute un objet NSTabView et place le bouton standard dans le premier TabView et place mon objet personnalisé dans le second TabView. Je change aussi mon code objet personnalisé comme vous le dites, mais cela n'a aucun effet. –

Questions connexes