如何在视图中移动 UIPageViewController 页面控制器按钮的位置

Posted

技术标签:

【中文标题】如何在视图中移动 UIPageViewController 页面控制器按钮的位置【英文标题】:How to move UIPageViewController's PageController buttons position in the View 【发布时间】:2019-05-15 09:43:14 【问题描述】:

我已经使用 UIPageViewController 实现了 Page Swipe。

委托和数据源工作正常。索引,整个事情。

我的问题是,由于页面控制器是 UIPageViewController 的一部分,它的默认位置是在底部。由于它是其中的一部分,我无法在情节提要上对其进行更改。

谁能指出我正确的方向?

我试过了,但没有用

   self.view.frame = CGRect(origin: CGPoint(x: 0.0, y: 30.0), size: CGSize(width: self.view.frame.width, height: self.view.frame.size.height - 200.0))

也试过这个。 但它所做的只是创建了第二个 PageControl

    let pageControl = UIPageControl()
pageControl.pageIndicatorTintColor = UIColor.grayColor()
pageControl.currentPageIndicatorTintColor = UIColor.whiteColor()
pageControl.backgroundColor = UIColor.darkGrayColor()
pageControl.numberOfPages = 4
pageControl.center = self.view.center
self.view.addSubview(pageControl)

pageControl.layer.position.y = self.view.frame.height - 200; 
// 200 point from bottom of the screen

我用谷歌搜索了它,但没有发现任何有用的东西。 谢谢

【问题讨论】:

【参考方案1】:

有两种可能的解决方案:

    更新当前 UIPageControl 在 UIPageViewController 的 viewDidLayoutSubviews 中的位置,就像它显示的 here Create你自己的UIPageControl,不要使用默认的

就个人而言,我不喜欢破解系统控件,因此我更愿意创建一个新控件并根据需要对其进行自定义。 祝你好运!

【讨论】:

所以你是说创建一个新的?选项2?我有理由不破解它吗? 我试过那个例子,但我不知道解决方案提供商从哪里获取 .pageIndex。在有 pageControl.currentPage = pageContentView?.pageIndex 的行上。你碰巧知道吗?

以上是关于如何在视图中移动 UIPageViewController 页面控制器按钮的位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在子视图移动期间使动画子视图中的按钮工作?

如何在Swift中移动容器视图

如何添加滑块以在视图中向下移动? [关闭]

如何在 ipad 应用程序中快速移动到新视图

移动子视图时,如何将其子视图保留在其父视图中的同一位置?

如何使 pixi js 掩码过滤器响应移动视图上的触摸,就像它在桌面视图中移动指针一样?