在UIButton上同时显示图像和标题 - Swift 3

时间:2017-05-11 07:08:12

标签: ios swift swift3

如何在UI按钮上同时显示标题和图像?我试图跟随使用swift 2的Display image and text in Button,但同样的过程只显示swift 3中的图像,隐藏标题。图像源文件为35x35像素。我的代码:

  let folderButton = UIButton(frame: CGRect(x: 100 , y: 200, width: 200, height: 41))
  folderButton.layer.borderColor = UIColor.black.cgColor
  folderButton.layer.borderWidth = 1
  folderButton.imageEdgeInsets = UIEdgeInsets(top: 0,left: 162,bottom: 3,right: 3)
  folderButton.titleEdgeInsets = UIEdgeInsets(top: 0,left: 0,bottom: 0,right: 41)
  folderButton.setImage(UIImage(named:"FolderIcon35"), for: UIControlState.normal)
  folderButton.setTitle("Test", for: UIControlState.selected)
  folderButton.setTitleColor(.black, for: .normal)
  view.addSubview(folderButton)

current Output

需要一个程序化解决方案,因为我没有使用故事板。谢谢!

4 个答案:

答案 0 :(得分:4)

我认为您应该为 UIControlState.normal

设置标题
folderButton.setTitle("Test", for:.normal)

答案 1 :(得分:1)

试试这个:folderButton.setTitle("yourTitle", for: UIControlState. normal)

答案 2 :(得分:1)

问题是您是仅为UIButton所选模式设置标题。因此,当您选择按钮时,标题应与您当前的代码一起显示。要在正常模式下显示标题,您应将标题集状态更改为.normal

folderButton.setTitle("Test", for: UIControlState.normal)

答案 3 :(得分:0)

对于iOS中的UIButton,我们可以根据状态更改按钮的外观,即Normal和Selected。 在这里,您在按下按钮时设置按钮的标题,因此您需要通过将状态设置为正常来为代码添加额外的行。

folderButton.setTitle(“Test”,for:UIControlState.selected)
folderButton.setTitle(“Test”,for:UIControlState.normal)

有关ios中UIButton的更多参考,请访问:UIButton