为什么这个UIButton在隐藏时会闪烁?

时间:2014-07-13 06:04:24

标签: ios objective-c uibutton swift

我在我的控制器中创建了一个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)
        }

    }

任何帮助都将不胜感激,并乐意根据需要修改问题。

我已经调试了一下,按钮会在隐藏之前恢复到默认状态下的图像。我已经删除了突出显示(无论如何突出显示状态的图像不是那个)并且它仍然有闪烁。

我想也许有一个默认动画,当一个按钮进入隐藏时必须覆盖,但我不确定。

0 个答案:

没有答案