2014-02-17 2 views
-1

저는 iOS 프로그램을 개발하는 초보자이며 도움이 필요합니다. 푸시 버튼을 멈추는 방법

내가 버튼을 클릭

, 내 코드는 조건이 참이면, 내가 prepareForSegue와 다음 UIViewController 통과 데이터에 액세스하기를 원하지만 조건이 FALSE 인 경우, 내가 액세스하지 마십시오 상태를 확인합니다 다음 VC으로 이동하여 현재 VC에 머물러 있습니다.

어떻게 할 수 있습니까?

내 버튼을 클릭하면 IBAction의 코드가 무엇이든간에 다음 VC에 직접 액세스합니다. 액세스를 차단할 수 있습니까?

나는

- (IBAction)lancepartie:(id)sender { 
... 
+0

전체 방법을 보여 –

+0

아무것도 유용 ... 그냥 내 상태입니다하시기 바랍니다 . – user3277279

+0

segue와이 작업을 스토리 보드의 버튼에 모두 연결 했습니까? – Gavin

답변

0
- (IBAction)lancepartie:(id)sender { 
    BOOL someConditionHasBeenMet = NO; 
    // check condition 
    if (someConditionHasBeenMet) { 
     // push view controller 
    } else { 
     // nothing 
    } 
} 
+0

// 뷰 컨트롤러를 밀어 넣으면 어떻게 될까요? newt VC 에의 진입은 자동? – user3277279

0

이 다른 답변을 작동해야이 코드

- (IBAction)lancepartie:(id)sender 
{ 
    if(Your_Condition_Is_True){ 
     [self performSegueWithIdentifier:@"Your_Segue_Identifier" sender:sender]; 
    } 
    else { 
     //do not switch controller 
    } 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"Your_Segue_Identifier"]) { 

    } 
} 
+0

"컨트롤러를 전환하지 마십시오"라고 어떻게 프로그램 할 수 있습니까? – user3277279

+0

조건이 false이면 다음 코드에서 아무 것도 발생하지 않습니다. else 블록에 코드를 작성하지 마십시오. 단순한 – Pawan

1

을 시도하지만,이 종류의 segues의 요점을 무시 푸시 버튼에 그 코드를하려고 : segues와 같은 것들을 위해 버튼에 수동으로 액션을 설정할 필요는 없습니다. 대신 - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 선택기를 재정의해야합니다.

그 작업을 수행하려면, 당신은 당신의 SEGUE를 인터페이스 빌더에서 식별자를 줄 필요가, 당신의 부모의 ViewController에이 코드를 추가

- (BOOL)shouldPerformSegueWithIdentifier:(NSString*)identifier sender:(id)sender 
{ 
    if ([identifier isEqualToString:@"MyIdentifier"]) 
    { 
     return someCondition; 
    } 
    else return YES; 
} 
관련 문제