2015-02-06 4 views
0

페이지 컨트롤이 있고 일부 컨트롤 변경을 방지 할 수 있기를 원합니다. 기본적으로, 사용자가 현재 페이지의 모든 질문에 답할 때까지 다음 페이지로 이동할 수 없도록하고 싶지만 여전히 뒤로 이동할 수 있기를 바랍니다.UIPageControl의 UIControlEventValueChanged 이벤트를 취소하는 방법은 무엇입니까?

"변경 될 것"이벤트와 같은 것을 듣고 취소 할 수있는 방법이 있습니까?

답변

1

당신은 같은 것을 할 수 있어야합니다, 그들은 모든 질문에 대한 답변 한 경우 yes로 설정 것 BOOL, 어디 condition입니다

@implementation ViewController { 
    BOOL condition; 
    NSInteger pageNumber; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    pageNumber = 5; // I set this to 5 which was the page control's inital value just for the test 
    condition = NO; 
} 



- (IBAction)pageControlTapped:(UIPageControl *)sender { 
    if (condition) { 
     pageNumber = sender.currentPage; 
     // move to the next or previous page 
    }else{ 
     if (pageNumber >= sender.currentPage) { 
      pageNumber = sender.currentPage; 
      // move to the previous page 
     }else{ 
      sender.currentPage = pageNumber; 
      // don't move 
     } 
    } 
}