В некоторых частях моего приложения мне нужен элемент управления, в котором пользователь может ввести пароль. Поле пароля защищено, однако я хочу, чтобы у пользователя была возможность переключать поле на обычный текст и проверять опечатки и т. Д.
Само поле пароля не проблема. Я создал подклассы NSSecureTextField, чтобы получить желаемое поведение. Я делаю его привязываемым, поэтому я могу переключать отображение с другого элемента управления (скажем, флажка).
Теперь я хочу повторно использовать это в нескольких местах моего приложения. Я могу просто использовать свое настраиваемое защищенное текстовое поле рядом с флажком везде, где мне это нужно. Но я бы предпочел сгруппировать эти части в один компонент многократного использования.
Итак, я создаю его с помощью конструктора интерфейсов:
Как я могу использовать это в разных окнах? Я добавил в свое окно компонент Custom View и установил его тип соответствующим образом:
Но во время выполнения я просто получаю пустое место.
1 - Предположительно, потому что мое представление определено в .xib - мне нужно сделать что-то в коде, чтобы загрузить мой экземпляр PasswordView из .xib; но что именно мне нужно делать? У меня проблемы с этим.
В частности:
Каков процесс / API для загрузки экземпляра моего представления из .xib? Мне не удается найти документацию по этому поводу.
Как только я загрузил экземпляр своего представления, как вставить его вместо заполнителя моего пользовательского представления? Предположительно мне нужен выход для моего пользовательского представления, но что тогда? Могу ли я просто привязать загруженный экземпляр к розетке? Должен ли я добавить его как подвид к розетке?
Где должна происходить эта логика? Внутри init, внутри AwakeFromNib?
2 - Я знаю, что могу использовать NSViewController для своего пользовательского представления (пример ) , и загрузите его таким образом. Но действительно ли мне нужен контроллер представления только для этого? Кажется, я должен просто иметь возможность создавать автономные представления и легко создавать их экземпляры ... Но, может быть, это не способ Какао? Мне кажется, что должен быть простой способ составить представление из нескольких файлов .xib без необходимости использования контроллера для каждого подвид (которое может быть просто текстовым полем или кнопкой), но я его просто не нахожу. ..
Заранее спасибо.