使用 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" 我的整个视图禁用我现有的界面。
出现的问题:
- 我想有多个段落类似于创建的布局,我应该无限制地构建它们吗? - 不只是创建一个视图作为 "template"
- 如何使用界面生成器在文本字段中换行? -已解决:ALT + Enter
- 设置进入和离开布局动画的正确方法是什么?-使用 UIPageViewController,不要设置视图动画
- 或者也许......有一个库可以让我的生活变得更简单-可能是,我发现解决方案很简单(最后)
问:您将如何实现这样的功能?有什么好的教程吗?
在努力使用此功能后,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:
注意:再次感谢@Shlomi Schwartz 与社区分享了初始片段(非常有用)。我也没有忘记在源代码中提到他是主要作者。
我正在尝试使用 UIPageControl 重现一个简单的文本轮播,类似于以下登录屏幕:
I've created the following layout (view -> label , text):
编辑: 我发现了一些使用 UIPageViewController
的教程,例如 :http://www.appcoda.com/uipageviewcontroller-tutorial-intro/ 但是结果是 "masking" 我的整个视图禁用我现有的界面。
出现的问题:
- 我想有多个段落类似于创建的布局,我应该无限制地构建它们吗? - 不只是创建一个视图作为 "template"
- 如何使用界面生成器在文本字段中换行? -已解决:ALT + Enter
- 设置进入和离开布局动画的正确方法是什么?-使用 UIPageViewController,不要设置视图动画
- 或者也许......有一个库可以让我的生活变得更简单-可能是,我发现解决方案很简单(最后)
问:您将如何实现这样的功能?有什么好的教程吗?
在努力使用此功能后,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:
注意:再次感谢@Shlomi Schwartz 与社区分享了初始片段(非常有用)。我也没有忘记在源代码中提到他是主要作者。