如何取消UIPageControl的UIControlEventValueChanged事件?

时间:2015-02-06 21:50:55

标签: ios uipagecontrol

我有一个页面控件,我希望能够阻止一些页面更改事件(不完全禁用控件)。基本上,我希望用户在他们回答当前页面上的所有问题之前无法移动到下一页,但我仍然希望他们能够向后移动。

有没有办法让控件听取类似"会改变"事件并取消它?

1 个答案:

答案 0 :(得分:1)

你应该可以做这样的事情,其中​​condition是一个BOOL,如果他们已经回答了所有问题你会设置为是,

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