Paging UIScrollView with different page widths(不同页面宽度的分页 UIScrollView)
问题描述
我想要一个启用分页的水平滚动 UIScrollView.此滚动视图中的页面具有不同的宽度,因此滚动距离因页面而异.
I would like to have a horizontal scrolling UIScrollView with paging enabled. The pages in this scrollview have different widths, so the scrolling distance differs from page to page.
目标是为不同的时间点制作一个选择器,例如:
The goal is to make a picker for different points in time, e.g.:
| Now | Yesterday evening | Last Week | Last Month |
^ ^ ^ ^ <- stopps here
这里<代码>|现在 | 的宽度小于 |昨天晚上|
.翻阅此值时,滚动视图应停止在相应值的中心.
Here | Now |
has a smaller width than | Yesterday evening |
. When paging through this values, the scrollview should stop at the center of the according value.
这可能吗?
推荐答案
这当然是可能的,但不是那么自动......
it's surely possible, but not so automatically...
我猜你应该实现 UIScrollViewDelegate 协议方法:
i guess you should implement the UIScrollViewDelegate protocol method:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
}
当用户停止在scrollView上移动手指时调用的方法,您可以在其中检查内容的坐标:
it's the method called when the user stop to move the finger on the scrollView, you can check inside it the coordinate of your content:
yourScrollView.contentOffset
然后检查哪一个 page.x(在创建它们时将它们注册到数组中,或检查添加到 scrollView 的所有视图的来源)更接近它,然后转到页面的 offSet(带动画)调用:
and then check which one of your page.x ( register them in an array when you create them, or check the origin of all your view added to the scrollView) is closer to it, then go to the offSet of your page (with animation) calling:
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
这篇关于不同页面宽度的分页 UIScrollView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:不同页面宽度的分页 UIScrollView
基础教程推荐
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01