2009-07-21 5 views
1

J'ai travaillé aujourd'hui sur l'ajout d'une feuille à la fenêtre principale de mon application. Après avoir eu du mal à séparer les deux (vue principale/contrôleur et vue feuille/contrôleur), je suis parti avec juste avoir les deux vues dans le même xib et les deux contrôlées par le contrôleur principal. Maintenant qu'il apparaît lorsque la méthode beginSheet est appelée, j'ai conçu le formulaire et l'ai connecté aux IBOutlets/Actions de mon contrôleur.Sorties Interface-Builder provoquant un comportement d'affichage impair

C'est où le problème est. Sans liaison entre les objets formes et le contrôleur, il s'affiche parfaitement. Mais quand je connecte des boutons à IBActions, et des champs texte/images aux IBOutlets, je rencontre des problèmes d'affichage bizarres. Je parle des boutons qui ne s'affichent pas (mais les actions exécutées en cliquant où ils devraient être), les bordures de NSBox ne sont pas affichées et les champs de texte ne prennent aucun texte tapé et affichent (toujours vide) plus loin de la zone visible du panneau.

J'ai découvert que je pourrais rectifier cela en redimensionnant le panneau un peu, mais ce n'est pas utilisable. Je l'ai fait fonctionner correctement avec 3 champs de texte et 3 boutons et juste fermer/minimiser activé (pas qu'ils semblent réellement faire quelque chose à une feuille), mais maintenant j'ai accroché une imageview au contrôleur et l'un des boutons ne s'affiche plus.

Cela a-t-il quelque chose à voir avec le nombre de prises/actions que j'utilise (la fenêtre principale actuelle n'en a pas vraiment) ou est-ce que IB est en train de faire quelque chose de mal?

Répondre

0

Ce problème est parti lorsque j'ai reconstruit la feuille à partir de zéro. Je ne sais pas ce qui a causé le problème, mais si quelqu'un a un problème similaire, je suggère d'essayer de le reconstruire dans une nouvelle feuille.

1

Mon premier soupçon serait qu'une exception soit levée quelque part pendant le dessin de la feuille. D'après mon expérience, c'est généralement le cas lorsque vous obtenez des contrôles à moitié dessinés comme vous le décrivez. Vérifiez la console de débogage dans Xcode pour voir si des messages d'erreur sont imprimés là-bas. Vous pouvez également ajouter un point d'arrêt sur objc_exception_throw pour que le débogueur s'arrête lorsqu'une exception est levée, ce qui pourrait vous éclairer sur l'origine exacte du problème.

+0

Malheureusement, il n'y a rien dans la console de débogage qui suggère ce qui se passe. J'ai ajouté le point d'arrêt que vous avez suggéré (juste pour vérifier Show Debugger-> Breakpoints-> Double-cliquez pour le symbole et tapez là-bas?) Et rien de nouveau est arrivé. – Septih

Questions connexes