Ich habe eine forum post zu diesem Thema gefunden. Es scheint einen Fehler zu geben, wenn der Index tabView
in Verbindung mit NSTabViewController
gesetzt wird.
Ihre Lösung besteht darin, die Registerkarte über den Controller selbst statt seiner tabView auszuwählen. Dies kann mithilfe der Eigenschaft selectedTabViewItemIndex
erfolgen.
So Ihr Code wäre folgendes:
if let contentViewController = self.contentViewController as? NSTabViewController {
contentViewController.selectedTabViewItemIndex = 1
}
Ich werde ein Radar auf diese Datei, und Sie sollten das gleiche tun. Dies scheint wirklich ein Fehler zu sein, kein Missbrauch der API.
aktualisieren 2016.11.10:
Die Frage scheint teilweise behoben werden. (MacOS Sierra 10.12.1) Das Verfahren wählt nun die Registerkarte, aber die Auswahl in der Tab-Leiste nicht aktualisiert ..
aktualisiert 2016.11.16:
Laut Apple ist dies keine Bug, aber beabsichtigtes Verhalten. Sie aktualisieren die Dokumentation.
Bei Verwendung eines tabViewControllers besitzt der Controller die Registerkarte UI (segmentiertes Steuerelement, Symbolleiste usw.) und nicht die tabView selbst. In der Tat hat die tabView keine Tabs, so dass nur zwischen Inhaltsansichten gewechselt werden kann.
Wir verwenden den internen Fehlerbericht 29184908, um die Aktualisierungsdokumentation zu verfolgen, die besagt, dass in diesem Kontext ausschließlich selectedTabViewItemIndex verwendet werden soll.
Ich aktualisierte meine Antwort. – mangerlahn