2017-06-15 2 views
0

Momentan verwende ich die Seitensteuerung, um 5 Bilder anzuzeigen. Die Kreisindikatoren, die zeigen, auf welcher Seite Sie sich befinden, erscheinen jedoch am unteren Rand der Ansicht und nicht direkt unter dem Bild, so wie ich es möchte. Ich habe versucht, den Speicherort mithilfe von "pageControl.frame = CGRectMake (110,5,100,100)" zu ändern. aber es tut nichts .. Jeder Grund, warum das nicht funktioniert?UIPage Control Buttons

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a 
    nib. 

    _pageData = @[@"slide0.png", @"slide1.png", @"slide2.png", 
@"slide3.png", @"slide4.png", @"slide5.png"]; 

_pageViewController = [[UIPageViewController alloc] 

initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll 

    navigationOrientation: 
    UIPageViewControllerNavigationOrientationHorizontal 
         options:nil]; 

_pageViewController.delegate = self; 
_pageViewController.dataSource = self; 

DataViewController *startingViewController = [self viewControllerAtIndex:0 storyboard:self.storyboard]; 
NSArray *viewControllers = @[startingViewController]; 

[_pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 

[self addChildViewController:_pageViewController]; 
[self.view addSubview:_pageViewController.view]; 

// Set the page view controller's bounds using an inset rect so that self's view is visible around the edges of the pages. 
CGRect pageViewRect = self.view.bounds; 
_pageViewController.view.frame = pageViewRect; 

[_pageViewController didMoveToParentViewController:self]; 

UIPageControl *pageControl = [UIPageControl appearance]; 

pageControl.frame = CGRectMake(110,5,100,100); 

pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; 
pageControl.currentPageIndicatorTintColor = [UIColor blackColor]; 
pageControl.backgroundColor = [UIColor whiteColor];  

} 
+0

Sie haben vergessen, Pagecontrol '[self.view addSubview: Pagecontrol] hinzuzufügen;' – vp2698

Antwort

1
- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray<UIViewController *> *)previousViewControllers transitionCompleted:(BOOL)completed { 
pageControl.currentPage = pageViewController.currentPageNumber; 
}