使用SFAuthorizationPluginView在Yosemite上自定义Mac登录屏幕

时间:2015-01-27 16:14:54

标签: objective-c macos sfauthorizationpluginview

我试图在OSX Yosemite上创建自定义登录屏幕,以便用户可以使用不同的机制登录(而不仅仅是通过键盘输入凭据)。目前,我试图通过按照Apple开发人员文档中的建议继承SFAuthorizationPluginView类,然后通过重写-(void)buttonPressed:方法来实现我的自定义逻辑。但是,文档相当模糊且过时。因此,我已根据NameAndPassword示例的patched version了解我当前的实现。

此示例运行良好,允许我自定义单个nib文件并配置我自己的字段和按钮。我的问题是,当登录屏幕加载我的自定义视图时,它看起来像是由包含默认Yosemite登录按钮的父容器绑定的。这本来没问题,除了按钮包含标题和图像,导致相当混乱的UI。现在,我的自定义按钮和Yosemite默认按钮在我的自定义登录屏幕中可见。 Here's the screenshot.

我一直在寻找访问Yosemite按钮的方法,以便我可以删除/修改它们。到目前为止,我发现与这些按钮交互的唯一方法是通过调用

[super setButton:SFButtonTypeLogin enabled:NO];

来自我的子类,根据您传入的按钮类型切换这些按钮的启用标志。

我正在寻找想法来访问这些默认按钮,或者用我自己的视图覆盖它们,以便只有我的自定义按钮可见并启用。此外,由于该课程已经过时,因此该课程可能无法与Yosemite合作。如果有人找到解决方法,请告诉我。

0 个答案:

没有答案