【发布时间】:2015-05-24 15:52:15
【问题描述】:
我有一些这样的代码:
- (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"];
}
以及如下所示的用户界面:
当我点击下面的卡片时,我会将点击的卡片设置为选中并更新 UI。通过查看日志,我可以看到内容被设置为注销为ret,这意味着我将一个非空的 NSString 传递给cardButton setTitle。
问题是,背景图像没有改变,标题似乎也没有设置。
cardButton.enabled 属性似乎按预期设置。
知道会发生什么吗?
【问题讨论】:
标签: ios objective-c uiview uibutton