更改页面控件的位置

Posted

技术标签:

【中文标题】更改页面控件的位置【英文标题】:Change the Location of Page Control 【发布时间】:2019-02-06 06:32:28 【问题描述】:

我有页面控制器,它有 4 个页面,前三个页面指示器位于屏幕底部,最后一个我想将其更改为顶部

 func newVc(viewController: String) -> UIViewController 
    return UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: viewController)


func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? 
    guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else 
        return nil
    
    let previousIndex = viewControllerIndex - 1
    guard previousIndex >= 0 else 
        return orderedViewControllers.last
    
    guard orderedViewControllers.count > previousIndex else 
        return nil
    
    return orderedViewControllers[previousIndex]


func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? 
    guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else 
        return nil
    
    let nextIndex = viewControllerIndex + 1
    let orderedViewControllersCount = orderedViewControllers.count
    guard orderedViewControllersCount != nextIndex else 
        return orderedViewControllers.first
    
    guard orderedViewControllersCount > nextIndex else 
        return nil
    
    return orderedViewControllers[nextIndex]


func configurePageControl() 
  many available colors we have.
    pageControl = UIPageControl(frame: CGRect(x: 0,y: UIScreen.main.bounds.maxY - 50,width: UIScreen.main.bounds.width,height: 50))
    self.pageControl.numberOfPages = orderedViewControllers.count
    self.pageControl.currentPage = 0
    self.pageControl.tintColor = UIColor.black
    self.pageControl.pageIndicatorTintColor = UIColor.white
    self.pageControl.currentPageIndicatorTintColor = UIColor.black
    self.view.addSubview(pageControl)

【问题讨论】:

在页面控件的指定索引处更改约束常量,您希望页面控件位于顶部 但我正在通过代码创建 PageControl 当您到达特定索引以将您的页面控件移到顶部时,只需更新它即可。 pageControl = UIPageControl(frame: CGRect(x: 0,y: 50,width: UIScreen.main.bounds.width,height: 50)) 【参考方案1】:

当您到达页面视图控制器中的特定索引时,在页面控制框架中更改您的y position

试试下面的代码:

pageControl.frame = CGRect(x: 0, y: 70, width: UIScreen.main.bounds.width, height: 50)

根据您的要求调整框架中的 Y 位置。

【讨论】:

以上是关于更改页面控件的位置的主要内容,如果未能解决你的问题,请参考以下文章

在容器内移动页面控件

如何更改 jQuery DatePicker 控件的弹出位置

UIPageViewController:每页更改页面指示器/页面控件的颜色

Xcode 4 UIPage 控件:如何更改页面控件的高度?

改变页面控件的位置

控件实现点击预览图片更改页面背景图片的效果