关于AppCoda撰写的有关如何使用UIPageViewController实现应用程序的教程,我想在页面顶部而不是底部使用自定义页面控件元素。
当我只是将页面控制元素放在将要显示的单个视图之上时,逻辑结果是控制元素在页面视图远离屏幕的情况下滚动。
如何将控件放置在视图上方,以便页面视图全屏显示(如图像),以便用户可以在固定控件下面看到视图?
我附上了一个示例屏幕截图-归功于AppCoda和Path:
经过进一步的调查和搜索,我找到了一个关于stackoverflow的解决方案。
关键是将以下消息发送到自定义UIPageControl
元素:
[self.view bringSubviewToFront:self.pageControl];
UIPageControl
在RootViewController
带有箭头的视图控制器顶部添加一个元素。
在中创建一个相关IBOutlet
元素ViewController.m
。
viewDidLoad
然后,在该方法中,应在添加所有子视图之后将以下代码添加为您最后调用的方法。
[self.view bringSubviewToFront:self.pageControl];
要基于当前内容视图的pageIndex分配当前页面,可以在UIPageViewControllerDataSource
方法中添加以下内容:
- (UIPageViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
// ...
index--;
[self.pageControl setCurrentPage:index];
return [self viewControllerAtIndex:index];
}
- (UIPageViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
// ...
index++;
[self.pageControl setCurrentPage:index];
// ...
return [self viewControllerAtIndex:index];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句