Настройка экрана входа в Mac на Yosemite с помощью SFAuthorizationPluginView
Я пытаюсь создать собственный экран входа в систему в OSX Yosemite, чтобы пользователи могли войти в систему, используя другой механизм (не просто ввод учетных данных с клавиатуры). В настоящее время я пытаюсь достичь этого путем создания подкласса класса SFAuthorizationPluginView, как это рекомендовано в документации для разработчиков Apple, а затем добавляю свою пользовательскую логику, переопределяя -(void)buttonPressed:
метод. Однако документация довольно расплывчата и устарела. Поэтому я основал свою текущую реализацию на исправленной версии примера NameAndPassword.
Этот пример хорошо работает и позволяет мне настроить один файл пера и настроить мои собственные поля и кнопки. Моя проблема в том, что когда экран входа в систему загружает мой пользовательский вид, он выглядит так, как будто он связан родительским контейнером, который включает в себя кнопки входа в систему Yosemite по умолчанию. Это было бы хорошо, за исключением того, что кнопки содержат заголовок и изображение, что приводило к довольно запутанному пользовательскому интерфейсу. Теперь у меня есть пользовательские кнопки и кнопки по умолчанию Yosemite, видимые на моем пользовательском экране входа. Вот скриншот.
Я искал способы получить доступ к кнопкам Yosemite, чтобы я мог удалить / изменить их. Пока что единственный способ взаимодействия с этими кнопками - это вызвать
[super setButton:SFButtonTypeLogin enabled:NO];
из моего подкласса, который переключает флаг включения этих кнопок в зависимости от типа кнопки, которую вы передаете.
Я ищу идеи, чтобы либо получить доступ к этим кнопкам по умолчанию, либо покрыть их своим собственным видом, чтобы только мои пользовательские кнопки были видны и активированы. Кроме того, существует вероятность того, что этот класс не очень хорошо работает с Yosemite, поскольку он довольно устарел. Дайте мне знать, если кто-то нашел способ обойти это.