Я работаю над карточной игрой. Я хочу, чтобы обратная карточка карты отображала изображение и фронты карты, чтобы показать содержимое карты. Я получил изображение, чтобы показать его сзади, но я не могу понять, как его очистить, когда он выбран. (Весь исполняемый код run-this-code-when-it работает, поэтому я знаю, что это не вопрос о не меняющемся состоянии.) Здесь мой код:
-(void)updateUI {
for (UIButton *cardButton in self.cardButtons) {
Card *card = [self.game cardAtIndex:[self.cardButtons indexOfObject:cardButton]];
[cardButton setTitle:card.contents forState:UIControlStateSelected];
[cardButton setTitle:card.contents forState:UIControlStateSelected | UIControlStateDisabled];
[cardButton setImage:[UIImage imageNamed:@"cardback.png"] forState:UIControlStateNormal];
//I've tried various permutations of the following three lines, but the image never disappears.
[cardButton setImage:nil forState:UIControlStateSelected];
[cardButton setImage:nil forState:UIControlStateSelected | UIControlStateHighlighted];
[cardButton setImage:nil forState:UIControlStateNormal];
cardButton.selected = card.faceUp;
cardButton.alpha=(card.unplayable ? 0.3:1.0);
[self.scoreLabel setText:[NSString stringWithFormat:@"Score: %d",self.game.score]];
}
}
Любые мысли о том, что я делаю неправильно?