将按钮水平添加到页面控件
Posted
技术标签:
【中文标题】将按钮水平添加到页面控件【英文标题】: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 来完成
i think you are looking for this kind of functionality 看看。
【参考方案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];
如果您需要更清晰的说明,请告诉我。
【讨论】:
以上是关于将按钮水平添加到页面控件的主要内容,如果未能解决你的问题,请参考以下文章