【问题标题】:Change BarButtonItem icon on click单击时更改 BarButtonItem 图标
【发布时间】:2016-02-18 18:38:08
【问题描述】:

我正在尝试创建一个计数器。这个想法很简单,你点击“播放”按钮,一旦你点击它就会消失并变成一个“暂停”图标,这会触发不同的动作。

我认为为计数器状态设置一个变量并更改图标(只有一个按钮)可以解决问题,但我不知道如何将按钮图像设置为“暂停”或出现在从情节提要面板创建下拉菜单时的下拉菜单。

代码如下:

@IBOutlet weak var playButton: UIBarButtonItem!
var timer = NSTimer()
var currentStatus = "stopped"


@IBAction func playAction(sender: AnyObject) {
    if (currentStatus == "stopped"){
        timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("increaseTimer"), userInfo: nil, repeats: true)
        currentStatus = "running"
        // change button icon (playButton) to Stop
    }
    else {
        currentStatus = "stopped"
        timer.invalidate()
       // change button icon (playButton) to Play
    }

}

【问题讨论】:

标签: ios swift ios9 uibarbuttonitem ios9.1


【解决方案1】:

您可以像这样设置按钮样式:

//setButton to play
yourBarButtonItem = UIBarButtonItem(UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "TheMethodThatTheButtonShouldCall"), animated: true)
//setButton to stop
yourBarButtonItem = UIBarButtonItem(UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Stop, target: self, action: "TheMethodThatTheButtonShouldCall"), animated: true)

【讨论】:

  • 我错过了一些进口吗?它说未解析的标识符“BarButtonitem”:S
  • 不,@HarsalBhavsar。我试过: UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "TheMethodThatTheButtonShouldCall") 这显然是正确的,但它根本不起作用。其实我开始认为这是不可能的.. :/
  • 我可以给你的屏幕截图吗?
【解决方案2】:

您可以像这样使用数组设置按钮样式:

   func addCustomNavigationItemAtLeftAndRightSide(leftButtonItems:[UIBarButtonItem], rightButtonItems:[UIBarButtonItem]) {

    self.navigationItem.leftBarButtonItems = leftButtonItems
    self.navigationItem.rightBarButtonItems = rightButtonItems
 }

你可以使用这样的风格:

  let leftButtonItem = UIBarButtonItem(image: UIImage(named: "ic_top_back"), style: .Plain, target: self, action: "onBackButtonClicked:")
  addCustomNavigationItemAtLeftAndRightSide([leftButtonItem], rightButtonItems: [])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 2014-02-16
    • 2018-06-07
    • 2021-12-12
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多