在UIButton上设置图像和标题

时间:2015-03-08 22:47:32

标签: swift ios8 uibutton

我正在尝试以编程方式在顶部设置图像,在按钮下方设置标题,而不使用背景图像。我知道之前已经问过这个问题,我已经尝试过阴性左侧插入和负顶部插入标题,我已经明确定义了字体,似乎没有任何效果。如果我注释掉setImage,上面的代码会将标题设置为罚款,但如果我没有删除标题。我错过了什么?

    // Add menu button
    let buttonImage = UIImage(named: "cheeseburger.png")
    let button = CategoryButton.buttonWithType(.Custom) as UIButton
    button.frame = CGRectMake(10, 10, 100, 140)

    button.setImage(buttonImage, forState: .Normal)
    button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 40, 0)

    button.setTitle("Cheeseburger", forState: .Normal)
    button.titleLabel!.font = UIFont(name: "Helvetica", size: 12)
    button.setTitleColor(UIColor.whiteColor(), forState: .Normal)
    button.titleEdgeInsets = UIEdgeInsetsMake(110, 0, 0, 0)

    categoryView.addSubview(button)

3 个答案:

答案 0 :(得分:3)

图像将标题推向远处。尝试左边玩:-200,-300,-400 ....这应该使文本可见。我有同样的问题,玩左边有点解决了它。

答案 1 :(得分:1)

在界面构建器上将按钮类型从自定义设置为系统!这对我有用!

答案 2 :(得分:0)

我尝试了很多方法。如果您在故事板中构建界面并且知道标题&图像永远不会改变,你可以调整图像&标题插入,直到看起来正确。但是为了以编程方式构建按钮,或者在运行时更改标题/图像,我无法找到一致工作的公式。

最后,我创建了一个自定义按钮类并覆盖了layoutSubviews函数以添加图像&标题自己。

如果你搜索这样的解决方案,你会发现很多例子,我相信你会找到一个能够适应你需求的例子。