2014-08-27 110 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]; 
} 

這些點似乎會自動添加並且干擾該區域中的其他UI元素。我如何完全刪除它們?

+0

的[自UIPageViewController隱藏點]可能的複製(http://stackoverflow.com/questions/20748897/hide-dots-from-uipageviewcontroller)被稱爲 – ricardopereira 2016-06-30 09:19:53

回答

18

的點加到一旦你UIPageViewController數據源實現下列方法:

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 
}