Я нашел forum post по этой теме. Кажется, что ошибка при установке индекса tabView
в сочетании с использованием NSTabViewController
.
Их решение состоит в том, чтобы выбрать вкладку через сам контроллер, а не в tabView. Это можно сделать, используя свойство selectedTabViewItemIndex
.
Так что ваш код будет следующим:
if let contentViewController = self.contentViewController as? NSTabViewController {
contentViewController.selectedTabViewItemIndex = 1
}
Я собираюсь подать радар на это, и вы должны сделать то же самое. Это действительно кажется ошибкой, а не неправильным использованием API.
Update 11/10/2016:
Проблема, кажется, фиксируется частично. (MacOS Sierra 10.12.1) метод в настоящее время выбирает вкладку, но выбор в панели вкладок не обновляется .. ![](https://i.stack.imgur.com/8ODMc.png)
Update 11/16/2016:
Согласно Apple, это не ошибка, но предполагаемое поведение. Они обновляют документацию.
При использовании tabViewController контроллер владеет интерфейсом вкладки (сегментированный элемент управления, панель инструментов и т. Д.), А не сам tabView. Фактически, tabView имеет стиль без табуляции, поэтому он обрабатывает только переключение между представлениями контента.
Мы используем внутренний отчет об ошибках 29184908, чтобы отслеживать обновление документации, в которой указано, что selectedTabViewItemIndex должен использоваться исключительно в этом контексте.
Я обновил свой ответ. – mangerlahn