2016-10-05 21 views
1

UIPageViewControllerのページコントロールにボタンを水平に追加する必要があります。私は自分のpageviewcontrollerをViewControllerにサブビューとして追加しました。デフォルトでは、ページコントロールを取得しています。ボタンを追加したかったのですが、誰かがボタンを追加する方法を提案できますか?ページコントロールに水平方向にボタンを追加する

ありがとうございます!

_pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll 
                  navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal 
                     options:nil]; 

    self.view.backgroundColor = [[UIColor blackColor]colorWithAlphaComponent:0.5]; 

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName: 
           @"Main" bundle:[NSBundle mainBundle]]; 
    UIViewController *p1 = [storyboard instantiateViewControllerWithIdentifier:@"First"]; 
    UIViewController *p2 = [storyboard 
          instantiateViewControllerWithIdentifier:@"Second"]; 
    UIViewController *p3 = [storyboard 
          instantiateViewControllerWithIdentifier:@"Third"]; 
    UIViewController *p4 = [storyboard 
          instantiateViewControllerWithIdentifier:@"Fourth"]; 
    _Array = @[p1,p2,p3,p4]; 
    _pageViewController.dataSource = self; 
    _pageViewController.delegate = self; 
    [_pageViewController setViewControllers:@[_Array[0]] 
            direction:UIPageViewControllerNavigationDirectionForward 
            animated:NO 
           completion:nil]; 

    [_pageViewController willMoveToParentViewController:self]; 
    [self addChildViewController:_pageViewController]; 
    [self.view addSubview:_pageViewController.view]; 
    [self.view sendSubviewToBack:self.pageViewController.view];  
    [_pageViewController didMoveToParentViewController:self]; 
+1

これまでに試したことを示してください。 – vaibhav

+0

ページコントロールと同じ行に、ボタンを使用します。 – meowsush

+0

代わりに 'collectionView'を使うことができます。実際にVCを追加するために' pageViewController'が使用されます。 – vaibhav

答えて

1

これはあなたが探しているものだと思います。彼はあなたのページビューコントローラビューの上にボタンを追加する方法を詳しく説明します。これは、ページビューコントローラーを追加した後で行うことができます。ページビューコントローラーの異なるビューコントローラー間でスワイプできるように、ボタンを前面に押し続けるためにsendSubviewToBackメソッドを使用できます。あなたはページコントロールが保持されているビューを抽出することができますし、あなたは何をしたいことができるかを参照してくださいhere

+0

あなたのコードを試してみると、ボタンが見えませんでした – meowsush

+0

ページビューコントローラを背面に送りましたか? – HarmVanRisk

+0

[self.view sendSubviewToBack:self.pageViewController.view]; はい、表示できませんでした。 – meowsush

0

以下はpagecontrolビューを補完するためのコードです:

NSArray * subviews = self.pageController.view.subviews;

for (int i=0; i<[subviews count]; i++) { 
    if ([[subviews objectAtIndex:i] isKindOfClass:[UIPageControl class]]) { 
     self.pageControl = (UIPageControl *)[subviews objectAtIndex:i]; 
    } 
} 
UIView *pageControlBaseView = [[UIView alloc] initWithFrame:CGRectMake(0,60,100, 40)]; 
[pageControlBaseView addSubview:self.pageControl]; 
self.pageControl.pageIndicatorTintColor = [UIColor redcolor]; 
self.pageControl.currentPageIndicatorTintColor = [UIColor greencolor]; 
[self.view addSubview:pageControlBaseView]; 

もっと明快さが必要な場合は教えてください。

関連する問題