我正在尝试在 OSX Yosemite 上创建一个自定义登录屏幕,以便用户可以使用不同的机制登录(而不仅仅是通过键盘输入凭据)。目前,我正在尝试通过按照 Apple 开发人员文档中的建议继承 SFAuthorizationPluginView 类,然后通过覆盖该-(void)buttonPressed:方法来放置我的自定义逻辑来实现这一点。但是,文档相当模糊和过时。因此,我的当前实现基于 NameAndPassword 示例的修补版本。
此示例运行良好,允许我自定义单个 nib 文件并配置我自己的字段和按钮。我的问题是,当登录屏幕加载我的自定义视图时,它看起来像是由包含默认优胜美地登录按钮的父容器绑定的。这本来很好,除了按钮包含标题和图像,导致 UI 非常混乱。现在,我的自定义登录屏幕中同时显示了自定义按钮和 Yosemite 默认按钮。这是屏幕截图。
我一直在寻找访问 Yosemite 按钮的方法,以便我可以删除/修改它们。到目前为止,我发现与这些按钮交互的唯一方法是调用
[super setButton:SFButtonTypeLogin enabled:NO];
来自我的子类,它根据您传入的按钮类型切换这些按钮的启用标志。
我正在寻找可以访问这些默认按钮的想法,或者用我自己的视图覆盖它们,以便只有我的自定义按钮可见和启用。此外,这个类有可能不能很好地与优胜美地配合使用,因为它已经相当过时了。让我知道是否有人找到解决此问题的方法。