Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift Xcode,由多个对象组成的设计元素_Swift_Xcode_Uiview_Uibutton_Uistoryboard - Fatal编程技术网

Swift Xcode,由多个对象组成的设计元素

Swift Xcode,由多个对象组成的设计元素,swift,xcode,uiview,uibutton,uistoryboard,Swift,Xcode,Uiview,Uibutton,Uistoryboard,在我的应用程序中,我必须通过谷歌实现登录,为了实现这一点,我使用了Firebase身份验证;我设法使用带有标签的UIView和UIImageView创建了一个按钮,并在视图中添加了一个UIApgestureRecognitor。我的问题是,有没有更聪明的方法来组合元素?如果是这样的话,我怎样才能使视图在按下真实按钮时变得更暗 您可以改用UIButton。可以向按钮添加图像和标签。如果使用Interface Builder,您只需将按钮连接到iAction即可满足按钮被按下的需要。 如果使用UIB

在我的应用程序中,我必须通过谷歌实现登录,为了实现这一点,我使用了Firebase身份验证;我设法使用带有标签的UIView和UIImageView创建了一个按钮,并在视图中添加了一个UIApgestureRecognitor。我的问题是,有没有更聪明的方法来组合元素?如果是这样的话,我怎样才能使视图在按下真实按钮时变得更暗


您可以改用UIButton。可以向按钮添加图像和标签。如果使用Interface Builder,您只需将按钮连接到iAction即可满足按钮被按下的需要。 如果使用UIButton,您还可以为不同的状态设置不同的颜色,例如高亮显示(按下按钮时)


网上有很多教程可以帮助你实现这一点。例如这个:

您只需要在按钮集合标签中设置图像,语义默认值由unspecified设置:

但您可以更改按钮的此语义,尝试此扩展以切换图像的语义,当您尝试将图像放置在右侧时,可使用此扩展功能,但您可以编辑扩展以将右侧图像与左侧标签分开:

extension UIButton{
func buttonSemantic(){
        titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 20)
        imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
        contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 20 / 2)
    }
}
然后您只需要设置图像和标题,并添加分隔符

button.setTitle("titleButton", for: UIControlState())
button.setImage(UIImage(named: "image"), for: .normal)
button.buttonSemantic()

谢谢,我没有意识到我可以将图片添加到UIButtom谢谢,我没有意识到我可以将图片添加到UIButtom谢谢