UIBarButton 没有改变

2024-01-01

@IBOutlet weak var playStopButton: UIBarButtonItem!
var playStopArray = [UIBarButtonSystemItem.Pause, UIBarButtonSystemItem.Play]
var index = 0

@IBOutlet weak var image: UIImageView!
@IBAction func playButton(sender: UIBarButtonItem) {
    println("pressed")
    playStopButton = UIBarButtonItem(barButtonSystemItem: playStopArray[index], target: self, action: "startMusic:")
    println("here")
    if index == 0 {
        index = 1
    }
    else {
        index = 0
    }
}
func startMusic() {
    println("test")
}

我预计条形按钮会更改为暂停符号,但没有成功。它打印“pressed”和“here”,但“test”不起作用。为什么图像没有变化?


你的做法是错误的。

在下面的行中,
playStopButton = UIBarButtonItem(barButtonSystemItem: playStopArray[index], target: self, action: "startMusic:")
您实际上正在创建一个新实例UIBarButtonItem。该按钮实际上并未添加到视图中。而不是添加UIBarButtonItem通过界面生成器。您可以通过编程方式创建它。

阅读此问题以获取更多信息。在 UIBarButtonSystemItemPlay 和 UIBarButtonSystemItemPause 之间切换 https://stackoverflow.com/questions/9068629/toggle-between-uibarbuttonsystemitemplay-and-uibarbuttonsystemitempause

var playButton:UIBarButtonItem!
var pauseButton:UIBarButtonItem!

func setup()
{
    playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "startMusic:")
    pauseButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: "stopMusic:")
}

func startMusic:(button : UIBarButtonItem)
{
     self.navigationItem.rightBarButtonItem = pauseButton // Switch to pause.
     //Other code.
}
func stopMusic:(button : UIBarButtonItem)
{
    self.navigationItem.rightBarButtonItem = playButton// Switch to play.
    //Other code.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIBarButton 没有改变 的相关文章

随机推荐