gpt4 book ai didi

ios - 按下 iOS swift 后更改 UIBarButtonItem 图标

转载 作者:搜寻专家 更新时间:2023-11-01 05:53:45 25 4
gpt4 key购买 nike

viewDidload 方法中,我声明了一个按钮并设置了 RightBarButton...

    let btnFavourite = UIButton(frame: CGRectMake(0,0,30,30))
btnFavourite.addTarget(self, action: "btnFavourite:", forControlEvents: .TouchUpInside)
btnFavourite.setImage(UIImage(named: "star"), forState: .Normal)
btnFavourite.setImage(UIImage(named: "star_filled"), forState: .Highlighted)
let rightButton = UIBarButtonItem(customView: btnFavourite)
self.navigationItem.setRightBarButtonItems([rightButton], animated: true)

我如何按下图像“star.png”中的按钮然后更改为“star_filled.png”?然后按按钮从“star_filled.png”到“star.png”?

如何使两个函数像

func btnFavourite()
{
//clicked the favourite button then image change to star_filled.png
}

fun btnUnfavourite()
{
//clicked the button then the bar button image change to star.png
}

最佳答案

创建方法,该方法将根据 self.isFavourited 的状态更新您的 Button

var isFavourited = false;//declare this above the viewDidload()

func updateRighBarButton(isFavourite : Bool){
let btnFavourite = UIButton(frame: CGRectMake(0,0,30,30))
btnFavourite.addTarget(self, action: "btnFavouriteDidTap", forControlEvents: .TouchUpInside)


if isFavourite {
btnFavourite.setImage(UIImage(named: "star_filled"), forState: .Normal)
}else{
btnFavourite.setImage(UIImage(named: "star"), forState: .Normal)
}
let rightButton = UIBarButtonItem(customView: btnFavourite)
self.navigationItem.setRightBarButtonItems([rightButton], animated: true)
}



func btnFavouriteDidTap()
{
//do your stuff
self.isFavourited = !self.isFavourited;
if self.isFavourited {
self.favourite();
}else{
self.unfavourite();
}
self.updateRighBarButton(self.isFavourited);
}


func favourite()
{
//do your favourite stuff/logic
}

func unfavourite(){
//do your unfavourite logic
}

在viewDidload方法中,第一次调用,即

self.updateRighBarButton(self.isFavourited);//first time self.isFavourited will be false

关于ios - 按下 iOS swift 后更改 UIBarButtonItem 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34542467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com