我正在尝试以编程方式在顶部设置图像,在按钮下方设置标题,而不使用背景图像。我知道之前已经问过这个问题,我已经尝试过阴性左侧插入和负顶部插入标题,我已经明确定义了字体,似乎没有任何效果。如果我注释掉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)
答案 0 :(得分:3)
图像将标题推向远处。尝试左边玩:-200,-300,-400 ....这应该使文本可见。我有同样的问题,玩左边有点解决了它。
答案 1 :(得分:1)
在界面构建器上将按钮类型从自定义设置为系统!这对我有用!
答案 2 :(得分:0)
我尝试了很多方法。如果您在故事板中构建界面并且知道标题&图像永远不会改变,你可以调整图像&标题插入,直到看起来正确。但是为了以编程方式构建按钮,或者在运行时更改标题/图像,我无法找到一致工作的公式。
最后,我创建了一个自定义按钮类并覆盖了layoutSubviews函数以添加图像&标题自己。
如果你搜索这样的解决方案,你会发现很多例子,我相信你会找到一个能够适应你需求的例子。