2015-02-06 86 views
0

我有一個頁面控件,我希望能夠防止一些頁面更改事件(不完全禁用控件)。基本上,我希望用戶在回答當前頁面上的所有問題之前不能移動到下一頁,但我仍然希望它們能夠向後移動。如何取消UIPageControl的UIControlEventValueChanged事件?

有沒有什麼辦法讓控件聽起來像「將改變」事件並取消它?

回答

1

你應該能夠做這樣的事情,在這裏condition是,如果他們已經回答了所有的問題,你會設置爲yes一個布爾值,

@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 
     } 
    } 
}