你如何使 UIView 的幻灯片从左到右并在 iPhone 中相互对接?
Posted
技术标签:
【中文标题】你如何使 UIView 的幻灯片从左到右并在 iPhone 中相互对接?【英文标题】:How do you make UIView's slide left to right and being butted right up against each other in iPhone? 【发布时间】:2011-01-19 19:52:12 【问题描述】:我见过一些应用程序有你滑动的视图,它只是滑动到下一个,它会根据你滑动的距离移动。有点像电影胶片。有没有简单的方法可以做到这一点?
【问题讨论】:
【参考方案1】:您可以使用UIScrollView 来精确实现此效果。 (电影片段中的每个“图片”都是您添加到滚动视图的视图。)
顺便说一句,上面链接的类参考文档还包含指向示例代码的链接 - 请参阅标题中的“相关示例代码”部分。
更新
这里有一些用于检测“当前”页面的示例代码。自从我使用 UIScrollView 已经有一段时间了(这是我写的早期“了解 ios”的游戏),所以这可能不是最好的解决方案。
// Calculate which page is visible
CGFloat pageWidth = scrollView.frame.size.width;
int currentPage = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
【讨论】:
知道了。但是我怎么知道在给定时间显示的是哪个?有没有比检查每个视图中的像素是否显示更好的方法?这是否适用于 UIView 而不是 UIImageView? @marty 过去我根据框架的宽度和滚动视图本身的当前 contentOffset 计算它。我会用一些示例代码更新我的问题。 看起来设置 pagingEnabled 会让它快速完成。以上是关于你如何使 UIView 的幻灯片从左到右并在 iPhone 中相互对接?的主要内容,如果未能解决你的问题,请参考以下文章