2009-12-02 3 views
0

안녕하세요 저는 IPhoneSDK를 처음 접했습니다.IPhone SDK - 애니메이션이 포함 된보기간에 변수 전달

나는 기본적으로 '10'이라는 하나의 이름으로 10 개의 버튼이있는보기를 가지고 있습니다. 내가 원하는 것은 버튼 (예 : 'nine')을 클릭하면 애니메이션이있는 다른보기로 이동 한 다음 그 다음보기에서 버튼에 해당하는 텍스트를 표시하는 레이블이 있다는 것입니다. 나는 이전에 클릭했다. (예 : '9'버튼을 누르면 다음 페이지에서 레이블에 'nine'이라고 표시됩니다.)

많은 번거 로움이 없다면 각 개념이 어떻게 작동하는지 매우 잘 이해할 수 있습니다.

기본적으로 내 자신의 코드가 있지만 혼란스럽고 틀림 없습니다.

개념적으로, 내가 무엇을 시도하고 지금까지 배운 것은 :

1.) 나는 파단를 삽입, 애니메이션 및 addSubviews를 사용하여보기를 전환 시도 등 setAnimations 내가보기를 전환하는 데 성공하지만 나도 몰라 방법 데이터를 전달하십시오.

2.) 나는 pushViewController를 배웠다. 내가 본 자습서에서 나는 계층 적 테이블을 가지고 연습했습니다. UIViewControllers 및 UITableViewControllers 만 밀어 넣을 수 있다는 것을 알게되었습니다. 그것이 테이블에있는 경우 그것을 적용하는 방법을 알고 있지만 뷰 (화면 내에서 임의로 흩어져있는 버튼이 있기 때문에보기에서 적용하는 방법을 모르겠다)

만약 당신이 내게 무엇을 나는 적어도 단계적인 개념을 위해서라도 노력하고있다. 나는 그것을 크게 고맙게 생각할 것이고, 나의 모든 삶에 감사 할 것이다. 나는 이것을 몇 주 동안 연구 해왔다. 그것을 실제적으로 나에게 설명 할 수있는 사람이 없다면 어렵습니다.

고맙습니다/선생님

답변

1

태그를 사용해보세요. 각 버튼 (1 ~ 10)에 태그를 지정하고 버튼을 클릭하면 발신자의 태그를 가져옵니다. 이 버튼을 클릭하면 어떤 버튼이 클릭되었는지 알 수 있습니다. 모든 버튼 클릭에 동일한 방법을 사용할 때만 필요합니다.

표시 할 다음 viewcontroller에서 NSString 유형의 속성 (clickedButton)을 만들고 .m 파일에서 합성합니다.

클릭 한 단추를 기반으로 변수에 텍스트를 가져온 후 표시 할 viewcontroller의 새 개체를 만들고 속성을 설정하십시오. clickedButton이 viewcontroller 개체.

NewViewController *nController = [[NewViewController alloc] initWithNibName:@"NewView"]; 
[nController setClickedButton:yourStringVariableWithButtonName]; 
[[self navigationController] pushViewController:nController animated:YES]; 

는 NewViewController에 도움이

[yourLabel setText:clickedButton]; 

희망을 clickedButton하는 라벨의 텍스트를 설정합니다.

+0

: - (IBAction를) loadZodiac

: 난 그냥 각 버튼 태그가 그래서 그것을 사용할 수 있습니다 얻을하는 방법을 모른다 당신은 navigationController를 참조하고, "navigationcontroller"자체에 타이핑하거나 내비게이션 컨트롤러를 제공하는 내 컨트롤러를 나타 내기로되어 있습니까? – Dan

+0

도 제공 한 코드 스텁을 - (IBAction) buttonClicked에 넣었습니다. 내가 제대로하고 있습니까? – Dan

+0

navigationController는 탐색 기반 응용 프로그램에서 UINavigationController에 대한 참조입니다. 사용하는 앱 유형과 앱에 포함 된 코드를 입력하면 어디에서 잘못 될지 도울 수 있습니다. NewViewController가 있습니까? – lostInTransit

0

이제 괜찮습니다! 나는 viewcontroller와 navigation controller의 개념을 완전히 이해하고있다.

한 가지 질문. 버튼에 할당 할 코드가 있습니다.(NSInteger) 태그 {

NSString *zodiac; 

switch (tag) { 
    case 1: 
     zodiac = @"Aries"; 
     break; 
    case 2: 
     zodiac = @"Taurus"; 
     break; 
    case 3: 
     zodiac = @"Gemini"; 
     break; 
    case 4: 
     zodiac = @"Cancer"; 
     break; 
    case 5: 
     zodiac = @"Leo"; 
     break; 
    case 6: 
     zodiac = @"Virgo"; 
     break; 
    case 7: 
     zodiac = @"Libra"; 
     break; 
    case 8: 
     zodiac = @"Scorpio"; 
     break; 
    case 9: 
     zodiac = @"Sagittarius"; 
     break; 
    case 10: 
     zodiac = @"Capricorn"; 
     break; 
    case 11: 
     zodiac = @"Aquarius"; 
     break; 
    case 12: 
     zodiac = @"Pisces"; 
     break; 
    default: 
     zodiac = @"None Selected"; 
     break; 
} 
lovescopesReading = [[LovescopesReading alloc] initWithNibName:@"LovescopesReading" bundle:nil]; 
lovescopesReading.title = zodiac; 
lovescopesReading.message = zodiac; 

Lovescopes6AppDelegate *delegate = [[UIApplication sharedApplication] delegate]; 
[delegate.navController pushViewController:lovescopesReading animated:YES]; 

}

0
NSString *zodiac; 

for (UIButton *button in [self.view subviews]) { 
    switch (button.tag) { 
     case 1: 
       zodiac = @"Aries"; 
       break; 
     case 2: 
       zodiac = @"Taurus"; 
       break; 
     .... 
     } 

}