你如何使 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 中相互对接?的主要内容,如果未能解决你的问题,请参考以下文章

从左到右将 UIView 移出屏幕并从左再次将其移入

如何使我的文本从左到右突出显示?

在屏幕向下移动时从左到右移动 UIView

如何使边框过渡从左到右(边框出现在悬停时)

Android 从左到右滑动动画

iPhone:如何从左到右制作当前的模态视图控制器动画