使用 UIPageControl 构建文本轮播的正确方法

The right approach for building a text carousel with UIPageControl

我正在尝试使用 UIPageControl 重现一个简单的文本轮播,类似于以下登录屏幕:


I've created the following layout (view -> label , text):


编辑: 我发现了一些使用 UIPageViewController 的教程,例如 :http://www.appcoda.com/uipageviewcontroller-tutorial-intro/ 但是结果是 "masking" 我的整个视图禁用我现有的界面。

出现的问题:

  1. 我想有多个段落类似于创建的布局,我应该无限制地构建它们吗? - 不只是创建一个视图作为 "template"
  2. 如何使用界面生成器在文本字段中换行? -已解决:ALT + Enter
  3. 设置进入和离开布局动画的正确方法是什么?-使用 UIPageViewController,不要设置视图动画
  4. 或者也许......有一个库可以让我的生活变得更简单-可能是,我发现解决方案很简单(最后)

问:您将如何实现这样的功能?有什么好的教程吗?

在努力使用此功能后,I'm sharing the project,享受

我使用了@Shlomi Schwartz 的项目,当我使用超过 3 个 UIPageViewController 时遇到了一个错误(例如尝试使用 4 个 UIPageViewController,使用 @Shlomi Schwartz 的项目)。问题来自于缺少且未实现的可选 UIPageViewControllerDelegate 方法,这使 UIPageControl 变得疯狂。

请在下面找到修复错误的具体方法:

/*
    Optional UIPageViewControllerDelegate method

    Sent when a gesture-initiated transition ends. The 'finished' parameter indicates whether
    the animation finished, while the 'completed' parameter indicates whether the transition completed or bailed out (if the user let go early).
*/
func pageViewController(pageViewController: UIPageViewController,
    didFinishAnimating finished: Bool,
    previousViewControllers: [AnyObject],
    transitionCompleted completed: Bool)
{
    // Turn is either finished or aborted
    if (completed && finished) {
        let currentDisplayedViewController = self.pageViewController!.viewControllers[0] as! ContentViewController
        self.pageControl.currentPage = currentDisplayedViewController.index
    }
}

如果您想获得完整的工作项目,请在下面找到 Github link:

(Github link of the project)

注意:再次感谢@Shlomi Schwartz 与社区分享了初始片段(非常有用)。我也没有忘记在源代码中提到他是主要作者。