Я пытаюсь изменить образ UIButton с помощью Swift ... Что я должен делатьКак изменить UIButton изображение Swift
Это OBJ-C code.but Я не знаю, с Swift:
[playButton setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
Я пытаюсь изменить образ UIButton с помощью Swift ... Что я должен делатьКак изменить UIButton изображение Swift
Это OBJ-C code.but Я не знаю, с Swift:
[playButton setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
Из кода ОВС-C Я думаю, что вы хотите установить изображение для кнопки так попробовать этот способ:
let playButton = UIButton(type: .Custom)
if let image = UIImage(named: "play.png") {
playButton.setImage(image, forState: .Normal)
}
Вкратце:
playButton.setImage(UIImage(named: "play.png"), forState: UIControlState.Normal)
Для Swift 3:
let playButton = UIButton(type: .custom)
playButton.setImage(UIImage(named: "play.png"), for: .normal)
вы можете сделать это, выделив кнопку и в insepctor на правой панели ручного инструмента вы можете обновить изображение. Очевидно, вы можете сделать это в коде также, как указано выше, но это еще один вариант для вас
Я предпочитаю метод инициализации моих переменных в верхней первой:
let playButton:UIButton!
var image:UIImage!
, а затем устанавливать их в viewDidLoad
override func viewDidLoad {
...
playButton = UIButton(type: .Custom)
imagePlay = UIImage(named:"play.png")
playButton.setImage(imagePlay, forState: .Normal)
}
предположить, что это связано ваше UIButton Name
как
@IBOutlet var btn_refresh: UIButton!
ваш может напрямую разместить изображение в трех режимах
// for normal state
btn_refresh.setImage(UIImage(named: "xxx.png"), forState: UIControlState.Normal)
// for Highlighted state
btn_refresh.setImage(UIImage(named: "yyy.png"), forState: UIControlState.Highlighted)
// for Selected state
btn_refresh.setImage(UIImage(named: "zzzz.png"), forState: UIControlState.Selected)
на кнопке действия
//MARK: button_refresh action
@IBAction func button_refresh_touchup_inside(sender: UIButton)
{
//if you set the image on same UIButton
sender.setImage(UIImage(named: "newimage.png"), forState: UIControlState.Normal)
//if you set the image on another UIButton
youranotherbuttonName.setImage(UIImage(named: "newimage.png"), forState: UIControlState.Normal)
}
Вам не нужно устанавливать кнопку в качестве розетки, если у вас есть действие для кнопки. Датчик параметра кнопки - это ссылка на кнопку, так что вы можете просто «позволить yourButton = отправитель как UIButton», а затем внести изменения в кнопку при необходимости. –
По стремительной 3.0 .Normal состояние было removed.you можно использовать следующие применять нормальное состояние.
myButton.setTitle("myTitle", for: [])
Для тех, кто с помощью Assets.xcassets и Swift 3, было бы, как это (нет необходимости в .png)
let buttonDone = UIButton(type: .Custom)
if let image = UIImage(named: "Done") {
self.buttonDone.setImage(image, for: .normal)
}
в быстрой 3,0:
@IBOutlet weak var selectionButton: UIButton!
selectionButton.setImage(UIImage.addBlueIcon, for: .selected)
Да, даже мы можем изменить изображение UIButton, используя флаг.
class ViewController: UIViewController
{
@IBOutlet var btnImage: UIButton!
var flag = false
override func viewDidLoad()
{
super.viewDidLoad()
//setting default image for button
setButtonImage()
}
@IBAction func btnClick(_ sender: Any)
{
flag = !flag
setButtonImage()
}
func setButtonImage(){
let imgName = flag ? "share" : "image"
let image1 = UIImage(named: "\(imgName).png")!
self.btnImage.setImage(image1, for: .normal)
}
}
Здесь после каждого нажатия кнопки изображение кнопки будет меняться в качестве альтернативы.
вы должны установить buttonWithType в UIButtonType.Custom, а не система, пока изображение не показывает – sazz
Для тех, кто ищет синтаксис Swift 3: 'playButton.setImage (UIImage (названный: "play.png"), для: .Normal) ' –