我在我的控制器中创建了一个UIButton(作为斯坦福大学的Matchismo应用课程的一部分),当卡片组为空时,它隐藏起来。然后另一个按钮取消隐藏,提示用户随机洗牌。
问题是我在按钮隐藏之前看到“后退卡”(这是默认状态背景图像)的闪烁。我不明白为什么会发生这种情况,因为我删除了按钮图像的任何突出显示更改。
以下是视图的XML:
<button tag="1" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" adjustsImageWhenDisabled="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ypz-af-BtM">
<rect key="frame" x="115" y="224" width="90" height="119"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<state key="normal" backgroundImage="Card Back"/>
<state key="disabled" backgroundImage="Card Front"/>
<state key="selected" backgroundImage="Card Front"/>
<state key="highlighted" backgroundImage="Card Front"/>
<connections>
<action selector="touchCardButton:" destination="GP9-BH-jNX" eventType="touchUpInside" id="Htd-Uc-LJN"/>
</connections>
</button>
这是控制器方法:
@IBAction func touchCardButton(sender: UIButton) {
self.flipCount++
if sender.selected{
if self.cardDeck.cards.count <= 0{
sender.hidden = true
var button:UIButton = self.view.viewWithTag(2) as UIButton
button.hidden = false
}
sender.selected = false
}else{
sender.selected = true
var selectedCard = self.cardDeck.drawRandomCard() as PlayingCard
sender.setTitle(selectedCard.contents, forState: UIControlState.Selected)
}
}
任何帮助都将不胜感激,并乐意根据需要修改问题。
我已经调试了一下,按钮会在隐藏之前恢复到默认状态下的图像。我已经删除了突出显示(无论如何突出显示状态的图像不是那个)并且它仍然有闪烁。
我想也许有一个默认动画,当一个按钮进入隐藏时必须覆盖,但我不确定。