我有四张图片,每张宽350像素,第一张是北,第二张是东,第三张是南,第四张是西。我把它们放到一个scrollView中,在一个图像中,我把它们链接到我所指的iPad的方向上,scrollView说。现在,当我转过来的时候,我想要滚动到图像周围,所以如果我正往北看,然后向东看,我会看到屏幕的北边幻灯片和东边的画面。
现在我试着用指南针做这件事,它运行得相当好,但是如何编码跨越0到360度之间的边界是一个挑战。我试图使用偏航,所以我看到两个180度的圆,但想出如何使这项工作也回避了我。我搜索这个,找到四元数和欧拉角,但是没有什么对我有意义的.
需要一些方向/帮助。
发布于 2015-10-21 20:08:42
您实际上并不需要滚动视图,因为您是通过设备标题来控制滚动偏移,而不是让用户滑动屏幕。因此,您只需使用一个普通的旧UIView
作为图像视图的父级。您只需将view.bounds.origin
而不是scrollView.contentOffset
更新为“滚动”。(在遮罩下,滚动视图的contentOffset
与其bounds.origin
相同。)
不管怎么说,把你的照片摆成这样:
+-------+-------+-------+-------+-------+
| North | East | South | West | North |
+-------+-------+-------+-------+-------+
请注意,北方图像被使用了两次。
获得新标题时,更新滚动视图的偏移量,如下所示:
let range = CGFloat(350 * 4)
let offset = range * (CGFloat)direction / 360
scrollView.contentOffset = CGPointMake(offset, 0)
https://stackoverflow.com/questions/33268096
复制相似问题