在ScrollView上更改叠加标签文本

时间:2014-05-09 22:42:40

标签: ios scrollview labels updating

这有点难以解释,所以我包括一张照片。

enter image description here

所以我有一个滚动视图(黄色部分),然后是一个带有分数的叠加框和玩家购买的升级数量等。带有标签的绿色框保持在相同的位置,而黄色部分滚动。这很好,除了我试图让玩家购买物品时改变标签。所以,让我们说玩家购买镐。所拥有的升级应从" 0/20"到" 1/20"。

这是我的设置。我顺便使用SpriteBuilder。我有一个处理scrollview的类,比如购买按钮和描述等等。然后我有另一个类只用于侧面的叠加,这基本上是它的唯一方法:

- (void)didLoadFromCCB {
    if (_doge < 1000000000000) {
        balanceLabel.string = [NSString stringWithFormat:@"%.2Lf", _doge];
    } else {
        balanceLabel.string = @"A lot!";
    }
    upOwnedLabel.string = [NSString stringWithFormat:@"%d", _upOwned];
    upMaxedLabel.string = [NSString stringWithFormat:@"%d", _upMaxed];
    NSLog([NSString stringWithFormat:@"%d", _upOwned]);
}

我已经尝试了一些事情,我认为这是最正确的事情#34;在滚动类的didLoadFromCCB中,我有这个:

UpgradesScene *upgradesScene = [[UpgradesScene alloc] init];
[upgradesScene didLoadFromCCB];

它位于正确的位置(在购买按钮下)但由于某种原因它不会更新标签。我收到一条NSLog消息告诉我关卡的级别,但由于某些原因标签不起作用。

我对这种语言很陌生,所以请放轻松我:)谢谢

1 个答案:

答案 0 :(得分:0)

问题是您正在使用alloc init创建新的upgradesScene,而不是获取对滚动视图中的引用的引用。你应该拥有一个属性(或IBOutlet,如果你在IB中做到这一点)指向该视图。