【问题标题】:Xcode, design elements made of multiple objectsXcode,由多个对象组成的设计元素
【发布时间】:2019-01-23 15:55:26
【问题描述】:

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

This is the "button" I created; on the left, there's the UIImageView with Google logo and on the right, there's the label

【问题讨论】:

    标签: swift xcode uiview uibutton uistoryboard


    【解决方案1】:

    你只需要在按钮集标签中设置图像,语义默认设置为未指定:

    但是你可以改变按钮的语义,试试这个扩展来切换图像的语义,当你试图把图像放在右边时,这个扩展功能,但是你可以编辑扩展来分开右边图片来自左标签:

    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()
    

    【讨论】:

    • 非常感谢
    【解决方案2】:

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

    网上有很多教程可以实现这一点。比如这个:https://medium.com/@harmittaa/uibutton-with-label-text-and-right-aligned-image-a9d0f590bba1

    【讨论】:

    • 谢谢,我没有意识到我可以将图像添加到 UIButtom
    • 谢谢,我没有意识到我可以将图像添加到 UIButtom
    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    相关资源
    最近更新 更多