2014-08-27 4 views
3

Я использую контроллер просмотра страницы в приложении iOs. Как удалить точки с этого контроллера?Удалить индикатор страницы из UIPageViewController

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    self.dontShowChecked = NO; 
    self.imagesArray = @[ ..]; 

    self.textsArray = @[ ........ 
         ]; 


    // Create page view controller 
    self.pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"WTPageController"]; 
    self.pageViewController.dataSource = self; 

    WTDetailViewController *startingViewController = [self viewControllerAtIndex:0]; 
    NSArray *viewControllers = @[startingViewController]; 
    [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 

    // Change the size of page view controller 
    CGFloat delta = [[PSDeviceInfo sharedInstance] is_iPhone] ? 50. : 50; 

    self.pageViewController.view.frame = CGRectMake(0, 40., self.view.frame.size.width, self.view.frame.size.height - delta); 
    [self.view addSubview:_pageViewController.view]; 
    [self.pageViewController didMoveToParentViewController:self]; 
} 

Точки, кажется, автоматически добавляются и мешают другим элементам пользовательского интерфейса в этой области. Как удалить их полностью?

+0

Возможный дубликат [Скрыть точек из UIPageViewController] (http://stackoverflow.com/questions/20748897/hide-dots-from-uipageviewcontroller) – ricardopereira

ответ

18

Точки добавляются только ваш UIPageViewController DataSource реализует следующие методы:

presentationCountForPageViewController: 
presentationIndexForPageViewController: 

Избегайте применения тех избавиться от UIPageControl точек.

0

Когда страницы могут быть динамически увеличивается или уменьшается.

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

func togglePageControl(pageCount: Int, threshold: Int = 1) { 

    var hidden = true 

    if pageCount > threshold { 

     hidden = false 

    } 

    for subView in self.view.subviews { 
     if subView is UIScrollView { 
      subView.frame = self.view.bounds 
     } else if subView is UIPageControl { 
      subView.isHidden = hidden 
     } 
    } 
} 

И это должно быть названо из

public func presentationCount(for pageViewController: UIPageViewController) -> Int { 

    togglePageControl(pageCount: pages.count) 

    // or togglePageControl(pageCount: pages.count, threshold: 5) 

    return pages.count 
} 
Смежные вопросы