Swift-как отобразить изображение поверх кнопки?

Я пытаюсь отобразить изображение над кнопкой, я получаю синюю печать изображения над кнопкой, я пробовал до сих пор это-

override func viewDidLoad()
{
    super.viewDidLoad()

    var birdTexture1 = UIImage(named: "fish.png") as UIImage
    button1.frame = CGRectMake(100, 10, 50, 150)
    button1.setImage(birdTexture1, forState: .Normal)

    button1.setTitle("Testing", forState: UIControlState.Normal)
    button1.addTarget(self, action: "btnAction:", forControlEvents:  UIControlEvents.TouchUpInside)
    self.view.addSubview(button1)

    // Do any additional setup after loading the view, typically from a nib.
}

по вышеуказанному коду, я получаю, следующий вывод

enter image description here

, но фактическое изображение это-

enter image description here

2 ответов


Я думаю, что ваш UIButton должен быть типа UIButtonTypeCustom, а не UIButtonTypeSystem. Вы либо построили его как таковой, либо вам нужно обновить свойства UIButton в interface builder.

дополнительная информация: https://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/occ/clm/UIButton/buttonWithType:


Я думаю заменить этот код:

let birdTexture1 = UIImage(named: "fish.png")! as UIImage
let button1:UIButton=UIButton(frame:CGRectMake(100, 50, 50, 150))
button1.setBackgroundImage(birdTexture1, forState: .Normal)
button1.setTitle("Testing", forState: .Normal)
button1.addTarget(self, action: #selector(ViewController.btnActionClick(_:)), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button1)

@IBAction func btnActionClick(sender:AnyObject){

}

а также добавить к изображению в target