繁体   English   中英

如何突出显示栏按钮项? (迅速)

[英]how highlight bar button item? (Swift)

我使用工具栏项来使用动作属性,我想在点击其中的一项时,将图像更改为突出显示的图像。

这是我所有的三个按钮:

@IBAction func audio(sender: AnyObject) {
    self.scView.contentOffset = CGPointMake(0,0);
}

@IBAction func mainBtn(sender: AnyObject) {
    self.scView.contentOffset = CGPointMake(415,0);
}

@IBAction func videoBtn(sender: AnyObject) {
    self.scView.contentOffset = CGPointMake(830,0);
}

@IBOutlet var inpt: UITextField!
@IBOutlet var scView: UIScrollView!

这是我的应用图片: image

谢谢

如果您只想在按下按钮的同时显示带有突出显示图像的按钮-您可以通过情节提要来做到这一点-您可以将每个按钮的图像设置为default状态,也可以highlighted -但是在释放按钮时按钮,它会返回到原始图像。

如果要在选择按钮时切换图像,则必须为按钮添加插座,并添加按钮状态变量(如果它仅更改一次,并且从不退回到原始状态,那么您无需需要状态)

这是您可能的操作方式示例-已更新以重置“其他”按钮

@IBOutlet weak var mainButton: UIButton!
@IBOutlet weak var videoButton: UIButton!

var mainButtonSelected : Bool = false
var videoButtonSelected : Bool = false

@IBAction func mainButton(sender: AnyObject)
{
    mainButtonSelected = !mainButtonSelected // toggle state
    if mainButtonSelected
    {
        // highlight the mainButton
        mainButton.setImage(UIImage(named: "imageMainHighlight.png"), forState: .Normal)

        // clear the highlight (if any) on videoButton
        videoButton.setImage(UIImage(named: "imageVideoDefault.png"), forState: .Normal)

        // UPDATED
        // make sure the videoButtonSelected flag is correct
        videoButtonSelected = false
        // UPDATED
    }
    else
    {
        // clear the highlight on mainButton, no need to do anything with videoButton
        mainButton.setImage(UIImage(named: "imageMainDefault.png"), forState: .Normal)
    }

    // add any other code you need here
}

@IBAction func videoButton(sender: AnyObject)
{
    videoButtonSelected = !videoButtonSelected // toggle state
    if videoButtonSelected
    {
        // highlight videoButton
        videoButton.setImage(UIImage(named: "imageVideoHighlight.png"), forState: .Normal)
        // clear the highlight (if any) on mainButton
        mainButton.setImage(UIImage(named: "imageMainDefault.png"), forState: .Normal)

        // UPDATED
        // make sure the mainButtonSelected flag is correct
        mainButtonSelected = false
        // UPDATED
    }
    else
    {
        // clear the highlight on videoButton, no need to do anything for mainButton
        videoButton.setImage(UIImage(named: "imageVideoDefault.png"), forState: .Normal)
    }

    // add any other code you need here
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM