Я занимаюсь разработкой приложения для какао на основе документов.Интерфейс запуска моделируется после GarageBand: отображается экран приветствия, на котором отображается одно из двух чередующихся видов (переключаемых через сегментированный элемент управления): «Создать новый проект» и «Просмотреть последние проекты».Каждое из этих представлений управляется выделенным NSViewController (в данном случае NewProjectViewController и RecentProjectsViewController ).
Чтобы добиться этого, я подклассифицировал NSDocumentController, чтобы при запуске показывать этот «экран приветствия» вместо создания пустого документа (пустой документ не имеет смысла в моем приложении, пока пользователь не задает определенные минимальные настройки).
После запуска / первоначального создания документа, если пользователь выбирает «Создать новый проект ...» (т. Е. Новый документ), я отображаю окно, в котором повторно используется тот же интерфейс, что и на вкладке «Новый проект» вэкран приветствия путем создания экземпляра того же NewProjectViewController и добавления его представления в окно.
В обоих случаях представление контроллера представления создается из .xib.Сам контроллер представления создается программно, и его представление добавляется в существующее подпредставление окна с использованием -addSubview:.
Представление для NewProjectViewController содержит несколько редактируемых экземпляров NSTextField и другие элементы управления.
Проблема: Все экземпляры NSTextField в представлении контроллера представления будут принимать ввод текста только в первый раз;Со второго раза, когда отображается вид, попытка редактирования текста произведет системный звуковой сигнал.Текст может быть выделен (выделен), но не изменен.Кроме того, текст может быть изменен программно.
Другие элементы управления (всплывающие кнопки) могут быть изменены без проблем.
Я попытался показать окно «Новый документ» с самого начала (вместоэкран приветствия), но результат тот же: первый раз работает, второй нет.
Это проблема с первым респондентом?