无法将UIButton的自定义类更改为GIDSignInButton

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将UIButton的自定义类更改为GIDSignInButton相关的知识,希望对你有一定的参考价值。

我正在尝试将Google登录功能添加到自定义按钮,我正在关注this教程。它告诉我选择按钮,并将其类设置为GIDSignInButton,然后添加以下代码:@IBOutlet weak var signInButton: GIDSignInButton!

但是,它不允许我将类设置为GIDSignInButton。当我输入并按回车键时,该字段就会清除。

enter image description here

答案

解决方法是在文本模式下打开storyboard并直接放置它。当你返回interface builder它会正常显示。

另一答案

您可以创建UIButton然后在其操作方法上编写此代码以通过谷歌进行签名:

    GIDSignIn.sharedInstance().signIn()

它适用于我,通过这种方式,您可以根据您的要求自定义UIButton,并使用谷歌执行登录

另一答案

您应该尝试不将GIDSignInButton分配给Object库中的Button Object,而是分配给View Object

这对我有用。

另一答案

那是因为GIDSignInButton是UIView的子类,而不是UIButton。添加到storyboard / nib常规UIView并将其类更改为GIDSignInButton。

来自google doc

将GIDSignInButton添加到故事板,XIB文件或以编程方式实例化它。要将按钮添加到Storyboard或XIB文件,请添加视图并将其自定义类设置为GIDSignInButton。

另一答案
  1. 打开故事板作为源代码。
  2. 找到xml中的按钮。
  3. 将customClass =“GIDSignInButton”设置为按钮标记的属性。
  4. 打开storyboard作为界面构建器。

您现在可以将按钮链接到IBOutlet

另一答案

几个月前我遇到了同样的问题,

你的代码似乎是正确的

@IBOutlet weak var signInButton: GIDSignInButton!

但是,问题可能是

•您尚未正确添加框架(转到左侧导航器中的项目设置,然后单击构建阶段,添加框架和SHIFT + CMD + K)

•或者,继续在swift文件中写入@IBOutlet,然后拖动按钮进行分配

•您的最后一个选项是关闭xcode,或者删除派生数据

Xcode本身有很多错误,我不确定这是不是你的问题,它是xcode的

希望这可以帮助!

另一答案

如果使用UIView而不是UIButton,则可以为视图分配GIDSignInButton的自定义类。从那里,您可以将视图连接到按钮插座和操作,如下所示。

@IBOutlet weak var googleLoginButton: GIDSignInButton!

  @IBAction func googleLoginButtonPressed(_ sender: Any) {
    GIDSignIn.sharedInstance()?.signIn()
}
另一答案

可以使用UIView或UIButton设置GIDSignInButton。

如果您使用GIDSignInButton作为UIButton

  1. 打开故事板作为源代码
  2. 在结果XML中找到按钮
  3. 添加以下代码作为按钮标记的属性 customClass = “GIDSignInButton”

4.再次打开storyboard作为Interface Builder,按钮类将被更改

如果您使用GIDSignInButton作为UIView

1.copy将自定义类粘贴为Identity Inspector中的GIDSignInButton

在我看来,第二个是正确的方法

另一答案

斯威夫特-5

Open storyboard as source code.
Locate the button in the xml.
Set customClass="GIDSignInButton" as an attribute for the button tag.
Open storyboard as interface builder.

//MARK:- You will not find this with button XML Forcly Add this (customClass="GIDSignInButton")[![enter image description here][1]][1]

以上是关于无法将UIButton的自定义类更改为GIDSignInButton的主要内容,如果未能解决你的问题,请参考以下文章

Xcode:将 UIButton 类更改为自定义类后,已发送事件消失

自定义 UIButton - IBAction 不起作用

框架中的自定义 ui 组件未呈现到故事板

对于 iOS,将 ViewController.xib 自定义类更改为另一个类是啥意思?

将 Java 类更改为存储过程

将 C++ 类更改为模板