2016-04-09 12 views
0

Ich denke, ich muss etwas einfach vermissen, aber neu zu Xcode ... Insbesondere ich bin in Swift Codierung, aber ich glaube, das ist eher eine. XIB-Datei Frage. Es ist ganz einfach, Schaltflächen außerhalb eines NSTableView-Objekts hinzuzufügen und zu löschen (wie das Voreinstellungen-> Unterfenster "Signaturen" der nativen Mail-App), aber wie integrieren Sie diese in das, was NSTableView selbst zu sein scheint? (mehr wie das systemeigene Mail-App-Einstellungen-> Konten-Panel) Idealerweise möchte ich die Option haben mehr als nur Hinzufügen/Löschen von Schaltflächen vorhanden, aber sobald ich den Prozess verstehen Hinzufügen von mehr Funktionalität sollte einfach sein.Position der Hinzufügen/Löschen von Schaltflächen für eine NSTableView in OS X

Example of Signatures panel vs Accounts panel layout

Antwort

0

Das spezielle Beispiel Sie zeigte nur einige Schaltflächen in einem Container Ansicht, die die Unterseite der Scroll-Ansicht anstößt, die die Tabellen-Ansicht enthält. Die Containeransicht zeichnet einen Hintergrund, der den Schaltflächen und einem Rahmen entspricht. Es wird wahrscheinlich die Bildlaufansicht um einen Punkt "unterlaufen", so dass Sie keine doppelte Grenze zwischen ihnen erhalten.

In der Tat, wenn Sie genau hinschauen, ist die Containeransicht einen Punkt zu schmal, so dass der rechte Rand nicht mit dem rechten Rand der Bildlaufansicht übereinstimmt. Dies beweist, dass es nicht Teil der Scroll-Ansicht ist.

+0

Okay, ich dachte, da war etwas außerhalb des eigentlichen NSTableView wegen der kleinen Anomalie, die du entdeckt hast - aber meine Newbie-Folgefrage ist, was ist eine "Containeransicht" in IB? Wird ein anderer View-Controller verwendet, um einen Boarder oder etwas anderes zu erstellen? –

+0

Es ist nur eine Ansicht, in die Sie andere Ansichten einfügen. In der Objektliste wird es als Benutzerdefinierte Ansicht bezeichnet. Wenn Sie das gewünschte Erscheinungsbild mit Standardansichtsattributen erzielen können, müssen Sie keine benutzerdefinierte Ansicht verwenden. Es wird nur eine Instanz von 'NSView' sein. Andernfalls müssen Sie Ihre eigene Unterklasse von 'NSView' schreiben und die Klasse der benutzerdefinierten Ansicht im Identity Inspector auf Ihre Unterklasse setzen. –