2009-07-21 14 views
1

Ich habe heute daran gearbeitet, ein Blatt zum Hauptfenster meiner Anwendung hinzuzufügen. Nachdem ich Probleme hatte, die beiden zu trennen (Hauptansicht/Controller und Blattansicht/Controller), habe ich beide Views in der gleichen xib und beide vom Hauptcontroller gesteuert. Jetzt, da es beim Aufruf der beginSheet-Methode angezeigt wird, habe ich das Formular entworfen und es an die IBOutlets/Aktionen meines Controllers angeschlossen.Interface-Builder-Ausgänge, die merkwürdiges Anzeigeverhalten verursachen

Hier ist das Problem. Ohne Bindungen zwischen den Formularobjekten und dem Controller wird es perfekt angezeigt. Aber wenn ich Knöpfe mit IBActions und Textfelder/Bildansichten mit IBOutlets verbinde, stoße ich auf seltsame Anzeigeprobleme. Ich spreche Tasten nicht angezeigt (aber die Aktionen ausgeführt werden, wenn Sie klicken, wo sie sein sollten), Grenzen der NSBox nicht angezeigt und Textfelder keine getippten Text und Anzeige (immer noch leer) weiter aus dem sichtbaren Bereich des Panels.

Ich entdeckte, dass ich das korrigieren konnte, indem ich das Panel ein wenig veränderte, aber das ist nicht verwendbar. Ich habe es funktioniert gut mit 3 Textfelder und 3 Tasten und nur schließen/minimieren aktiviert (nicht, dass sie tatsächlich etwas zu einem Blatt zu tun scheinen), aber jetzt habe ich eine Bildansicht bis zum Controller und der eine der Tasten wird nicht erneut angezeigt.

Ist das etwas mit der Anzahl der Ausgänge/Aktionen zu tun, die ich benutze (Das eigentliche Hauptfenster hat eigentlich keine zusätzlichen) oder ist IB fehlerhaft oder ich mache etwas sehr falsch?

Antwort

0

Dieses Problem ging weg, als ich das Blatt von Grund auf neu konstruierte. Ich weiß nicht, was das Problem verursacht hat, aber wenn jemand ein ähnliches Problem hat, würde ich vorschlagen, es in einem neuen Blatt zu rekonstruieren.

1

Mein erster Verdacht wäre, dass beim Zeichnen des Blattes irgendwo eine Ausnahme ausgelöst wird. Meiner Erfahrung nach ist das normalerweise der Fall, wenn Sie halb gezeichnete Steuerelemente erhalten, wie Sie es beschreiben. Überprüfen Sie die Debugger-Konsole in Xcode, um festzustellen, ob dort Fehlermeldungen ausgegeben werden. Sie können auch einen Haltepunkt für objc_exception_throw hinzufügen, um den Debugger anzuhalten, wenn eine Ausnahme ausgelöst wird. Dies könnte ein weiteres Licht darauf werfen, woher genau das Problem kommt.

+0

Leider gibt es nichts in der Debugger-Konsole überhaupt, die darauf hindeutet, warum es passiert. Ich habe den von Ihnen vorgeschlagenen Haltepunkt hinzugefügt (nur Debug Debugger -> Breakpoints -> Doppelklick auf Symbol und tippe dort ein?) Und nichts Neues ist passiert. – Septih