【问题标题】:Add button horizontally to Page Control将按钮水平添加到页面控件
【发布时间】:2016-10-05 07:59:58
【问题描述】:

我需要在 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];

【问题讨论】:

  • 显示你到目前为止尝试过的内容..
  • 在与页面控件相同的行中,我想使用一个按钮。
  • 你可以用collectionView代替,pageViewController其实是用来添加VC的..
  • 我必须使用 pageviewcontroller 来完成

标签: objective-c uipageviewcontroller uipagecontrol


【解决方案1】:

我相信这就是您要找的。他详细解释了如何在页面视图控制器视图的“顶部”添加按钮。您可以在添加页面视图控制器后执行此操作,您可以使用 sendSubviewToBack 方法来确保按钮保持在前台,同时您将能够在页面视图控制器的不同视图控制器之间滑动。看看here

【讨论】:

  • 抱歉,我在尝试您的代码时看不到按钮
  • 你把页面视图控制器放到后面了吗?
  • [self.view sendSubviewToBack:self.pageViewController.view];是的,但无法查看按钮
  • 如何添加按钮和浏览器控制器?
  • 在父视图控制器而不是页面视图控制器中。我也相信在上面的例子中他以编程方式添加了 pageviewcontroller
【解决方案2】:

你可以提取页面控制所在的视图,然后你可以做任何你想做的事情。下面是提取页面控件视图的代码:

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];

如果您需要更清晰的说明,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多