我在UIButton
中有一个UICollectionView
,我想更改其文本。但是有一个问题,在单击它之后,collectionView会重新加载其数据,因此文本将更改一秒钟,然后返回到第一个。
代码:
@IBOutlet weak var showMorebtn: OButton!
@IBAction func pressShowMoreBtn(_ sender: OButton) {
askForChangingheightOfCell?()
showMorebtn.setTitle("Show more", for: .normal)
showMorebtn.setTitle("Show less", for: .highlighted)
感谢您的提前帮助
答案 0 :(得分:0)
首先,声明一个变量以存储按钮状态,并根据该状态更改按钮标题
var isShowMore = false
func onButtonTapped(){
isShowMore = !isShowMore
if isShowMore{
showMorebtn.setTitle("Show less", for: .highlighted)
}else{
showMorebtn.setTitle("Show more", for: .normal)
}
collectionView.reloadData()
}
答案 1 :(得分:0)
您已为button
而不是.selected
的{{1}}设置了新标题
.highlighted
仅在单击UiButton
时处于.highlighted
状态,然后在UiButton
之后又回到touchEnds
状态,然后必须定义您的将.normal
的{{1}}代码更改为
例如
title