2012-01-25 4 views
2

У меня есть UIPageControl объект, прекрасно работающий в моем приложении, за исключением того, что я не обрабатываю поведение по умолчанию для перехода/уменьшения.UIPageControl UIControlEventValueChanged - как узнать предыдущее значение?

мне нужно:

  • ручка это в моем приложении
  • знают, что текущие и предыдущие значения UIPageControl есть.

Я знаю, что могу зафиксировать «новое» значение на UIControlEventValueChanged, но как бы узнать «старый»? Я вручную setCurrentPage в нескольких местах в моем коде, но сохранение старого состояния где-то там может привести к ошибкам и вроде как взломать, я думаю.

ответ

0

Я не думаю, что есть свойство сохранить предыдущую страницу, но почему бы не определить ее? Вы можете сохранить все предыдущие номера страниц в объекте NSMutableArray и;

  • Когда вы собираетесь перейти на новую страницу, добавить текущую в массив, прежде чем идти,
  • Всякий раз, когда вы хотите, чтобы вернуться на предыдущую страницу, получить lastObject из вас массива и удалить Это.

    - (NSInteger)previousPageNumber 
    { 
        NSInteger pageNumber = 0; 
        if(self.previousPagesArray.count > 0) 
        { 
         pageNumber = [[self.previousPagesArray lastObject] intValue]; 
         [self.previousPagesArray removeLastObject]; 
        } 
    
        return pageNumber; 
    } 
    

и

-(void)goToNextPage 
{ 
    NSNumber *pageNumber = [NSNumber numberWithInt:self.pageControl.currentPage]; 
    [self.previousPagesArray addObject:pageNumber]; 
    //go to next page 
}