【问题标题】:Custom UIButton in iOS with centered image on top of textiOS中的自定义UIButton,在文本顶部居中图像
【发布时间】:2016-12-09 15:53:37
【问题描述】:

我正在尝试在界面生成器中创建这样的按钮。

我使用了this SO question 作为参考,但是我无法将图像放在文本之上。

我只能得到一个偏离中心的文本和图像。

以下是一些设置:

【问题讨论】:

  • 在检查器中,如果您选择“边缘”,我们可以选择图像并使用“左、右、上、下”插图更改边缘值

标签: ios objective-c uibutton interface-builder


【解决方案1】:

您试图在同一个视图(UIButton 视图)上同时使用 Image 和 Label 并定位它们,这不是执行此类任务的最佳方式。

而且你不能在界面生成器的 UIButton 上添加子类。

我建议您改为创建一个 UIView,并分别添加一个带有设置图像的 UIImageView 和一个带有“设置”的 UILabel:

之后,您可以添加 TapGesturRecognizer 以在您点击查看按钮时通知您:

func tapSetup() {
        let tapOnMyViewButton = UITapGestureRecognizer(target: self, action: #selector(ViewController.didTapOnMyViewButton))
        self.byViewBtn.addGestureRecognizer(tapOnMyViewButton)
    }

    func didTapOnMyViewButton() {
        //Your logic
    }

【讨论】:

    【解决方案2】:

    我在这种情况下经常使用的另一种方法是在 Interface Builder 中创建一个 UIView 并将其类更改为 UIControl。然后,您可以根据需要添加任意数量的 UIImageView、UILabels 等,并使用 AutoLayout 而非更多“hacky”内容插入来定位它们。

    UIButton 是 UIControl 的子类,您可能正在寻找的所有功能也可能是 UIControl 的一部分,特别是 -addTarget:action:forControlEvents 方法。

    【讨论】:

      猜你喜欢
      • 2012-07-08
      • 2015-05-27
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多