2013-07-15 2 views
0

NSArray 객체를 만들어서 다른 레이블 텍스트 사이를 토글합니다. 내 인터페이스 빌더의 레이블에 "0"이 표시됩니다. 버튼 토글 텍스트를 누르면 숫자가 1로 바뀌고 두 번째로 누르면 2로 바뀝니다.세그먼트 화 된 컨트롤 대신 UIButton 사용

하지만 기본적으로 숫자 1부터 시작할 수 있습니까? 인터페이스 작성기에서 내 레이블을 1로 변경하려고 시도했지만 처음에는 단추를 누를 때 번호가 1로 유지됩니다 (이는 의미가 있습니다). 또한 "self.index = 0;"을 추가하려고했습니다. 및 "self.index = 1;" viewDidLoad 섹션에서. 아무것도 작동하지 않는 것 같습니다 ... 어떤 도움?

여기

-(IBAction)toggleText 
{ 

    if (!self.numbers) 
    { 
     self.index = 0; 
     self.numbers = @[ @"1", @"2"]; 
    } 

    NumberLabel.text = self.numbers[self.index]; 
    self.index = (self.index == self.numbers.count-1)? 0 : self.index+1; 

} 

답변

0

설정 self.index 부동산 처음 1, 중 당신의 toggleText 방법 또는 뷰 컨트롤러의 viewWillAppear: 방법에 내 코드입니다.

if (!self.numbers) 
{ 
    //self.index = 0; 
    self.index = 1; 
    self.numbers = @[ @"1", @"2"]; 
} 
0

그냥 (라벨이 UILabel의에 함께 IBOutlet입니다) 귀하의 버튼 방식에서이 작업을 수행 :

-(IBAction)iterateNumber:(UIButton *)sender { 
    self.label.text = [NSString stringWithFormat:@"%d",[self.label.text intValue] +1]; 
} 
+0

이 나쁜 연습이다, 그것은 Model-View-Controller 패턴을 위반하는 것입니다. – danielbeard

관련 문제