2010-07-17 10 views
1

Je tente de créer une fenêtre Carbon redimensionnable dans le cadre d'un didacticiel. J'utilise Interface Builder 3.2.3 sur Snow Leopard 10.6.4. Si je crée un projet Carbon vide et que j'ajoute un objet fenêtre depuis la bibliothèque (avec les boutons Fermer, Réduire, Redimensionner et Zoom dans l'inspecteur tous cochés), lancez le simulateur de carbone, puis essayez de redimensionner la fenêtre en saisissant le redimensionner le contrôle, la fenêtre disparaît. Cependant, si je crée un projet Carbon qui contient déjà l'objet window (c'est-à-dire au lieu d'un projet vide dans lequel j'ajoute la fenêtre après l'avoir créée), je n'ai aucun problème à redimensionner la fenêtre dans ce cas.La fenêtre disparaît lors du redimensionnement dans Carbon Simulator

J'essaie de faire correspondre visuellement les sélections dans l'inspecteur pour voir ce qui est différent entre les réglages de ces deux cas, mais je ne remarque pas facilement de différences dans les deux ensembles de paramètres qui sont affichés. Ainsi, je suis curieux de savoir s'il y a plus de paramètres qui ne sont pas affichés sur l'inspecteur.

Y a-t-il des raisons communes pour qu'une fenêtre Carbon disparaisse lors du redimensionnement?

Merci

Répondre

0

Je remarque que si l'option de recevoir des clics est pas cochée, la fenêtre disparaît lorsque vous essayez de le redimensionner. Mais je ne sais pas comment vous pouvez décocher cela accidentellement.

0

JWWalker, merci pour la réponse. Recevoir des clics a été cochée sur les deux versions.

Mais je pense que j'étais capable de (en quelque sorte) comprendre l'anomalie en examinant le fichier .nib.

Les deux fichiers ont deux clés définies: maxSize (sous com.apple.ibtool.document.localizable-all) et gMaxSize (sous com.apple.ibtool.document.objects). Dans le fichier de travail, les deux ont un paramètre de chaîne de {480, 270}. Dans le fichier non travaillé, ils avaient un paramètre de chaîne de {0, 0}. Apparemment, la configuration par défaut du fichier de travail définissait la taille maximale de la fenêtre à zéro. Dans l'inspecteur, l'onglet Taille du modèle de fenêtre affichait la case «Taille maximale», mais un «0» pour la largeur et la hauteur. J'ai cliqué sur la boîte une fois pour effacer le chèque. Ran le Carbon Simulator à nouveau et la fenêtre redimensionnée correctement sans disparaître. Lorsque j'ai revérifié la boîte, Inspector a automatiquement rempli les paramètres Width et Height avec des valeurs valides de 480 et 270. J'ai exécuté à nouveau le Carbon Simulator et il a été redimensionné correctement conformément à la nouvelle contrainte de taille maximale.

Je ne comprends pas complètement le code XML dans le fichier .nib mais apparemment le paramètre par défaut pour la taille maximale de la fenêtre était mis à zéro. Le code incorrect est apparu dans le fichier .nib comme suit (avec des lignes non pertinentes supprimées):

com.apple.ibtool.document.localizable-tous

<dict> 
    <key>1</key> 
    <dict> 
     <key>maxSize</key> 
     <string>{0, 0}</string> 

com.apple.ibtool.document.objects

<dict> 
    <key>1</key> 
    <dict> 
     <key>gMaxSize</key> 
     <string>{0, 0}</string> 
0

Vous devez décocher la taille du modèle fenêtre minimum size et maximum size ou définir la valeur correcte.