У меня есть некоторый код, как это:SETTITLE и setBackgroundImage не работает UIButton вложен в UIView
- (void)updateUI {
for (UIButton *cardButton in self.oneDimensionalArrayContainingCardButtons) {
int cardButtonIndex = [self.oneDimensionalArrayContainingCardButtons indexOfObject:cardButton];
Card *card = [self.game cardAtIndex:cardButtonIndex];
[cardButton setTitle:[self titleForCard:card] forState:UIControlStateNormal];
[cardButton setBackgroundImage:[self backgroundImageForCard:card] forState:UIControlStateNormal];
cardButton.enabled = !card.isMatched;
self.scoreLabel.text = [NSString stringWithFormat:@"Score: %d", self.game.score];
}
}
- (NSString *)titleForCard:(Card *)card
{
NSString *ret = card.isChosen ? card.contents : @"";
NSLog(ret);
return ret;
}
- (UIImage *)backgroundImageForCard:(Card *)card {
return [UIImage imageNamed:card.isChosen ? @"cardback" : @"cardfront"];
}
и пользовательский интерфейс, который выглядит следующим образом:
Когда я нажимаю на а ниже, я устанавливаю выбранную карту кликов и обновляю пользовательский интерфейс. Я могу видеть, наблюдая журналы, что содержимое устанавливается в качестве ret
, что означает, что я пропускаю непустую NSString до cardButton setTitle
.
Проблема заключается в том, что фоновое изображение не изменяется, и заголовок не появляется, чтобы его установить.
Свойство cardButton.enabled
похоже, что будет установлено.
Любая идея, что может быть?
Карта является модельным классом, расширяет NSObject – johncorser