2014-05-09 3 views
0

이것은 일종의 설명하기가 어렵기 때문에 그림을 포함하고 있습니다.ScrollView에서 오버레이 라벨 텍스트 변경하기

enter image description here

그래서 내가있는 ScrollView (노란색 부분) 다음 점수를 가진 오버레이 상자와 얼마나 많은 업그레이드 플레이어 구입이, 라벨과 등 녹색 상자는 노란색 동안 같은 위치에 유지 부분 스크롤. 플레이어가 항목을 구매할 때 레이블이 변경되도록하려는 경우를 제외하고는 정상적으로 작동합니다. 따라서 플레이어가 곡괭이를 구입한다고 가정 해 봅시다. 소유하고있는 업그레이드가 "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]); 
} 

나는 몇 가지 시도를 해본 결과 이것이 "가장 정확한 것"이라고 생각합니다. 스크롤 클래스에 didLoadFromCCB, 나는이 있습니다

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

그것은 (구매 버튼 아래) 올바른 위치에있어하지만 어떤 이유가 라벨을 업데이트하지 않습니다. 레벨을 말하는 NSLog 메시지가 표시되지만 어떤 이유로 레이블이 작동하지 않습니다.

내가 그렇게 나를 쉽게 이동하시기 바랍니다이 언어에 아주 새로운 해요 :) 당신에게

+0

개체가 nil인지 아닌지 확인 했습니까? – andyPaul

답변

0

문제를 당신이 ALLOC 초기화와 함께 새로운 upgradesScene를 만드는 것이 아니라에서의 사람에 대한 참조를 얻고 있음을 감사합니다 스크롤 뷰. 해당 뷰를 가리키는 속성 (IB에서 만드는 경우 IBOutlet)이 있어야합니다.