ios - 使用 iPad 指南针在 Swift 中平移图像

标签 ios swift virtual-reality

<分区>

我有四张图片;每个都是 350 像素宽;第一个是北,第二个是东,第三个是南,第四个是西。我将它们放入单个图像的 scrollView 中,并将所述 scrollView 链接到我指向 iPad 的方向。现在,当我四处平移时,我想让滚动条在图像周围平移,所以如果我向北看并向东转,我会看到屏幕向北滑动,然后向东滑动到它上面。

现在我尝试使用指南针来做到这一点,并且效果相当不错,但是如何编码跨越 0 度和 360 度之间的边界是一个挑战。我尝试使用偏航,这样我就能看到两个 180 度的圆,但我也没有想出如何让它工作。我用谷歌搜索并找到了四元数和欧拉角,但对我来说没有任何意义......

需要一些指导/帮助。

最佳答案

您实际上并不需要 ScrollView ,因为您是通过设备标题控制滚动偏移,而不是让用户滑动屏幕。所以你可以只使用一个普通的旧 UIView 作为 ImageView 的父级。您只需将 view.bounds.origin 而不是 scrollView.contentOffset 更新为“滚动”。 (在幕后, ScrollView 的 contentOffset 与其 bounds.origin 相同。)

无论如何,像这样布置你的图片:

+-------+-------+-------+-------+-------+
| North |  East | South |  West | North |
+-------+-------+-------+-------+-------+

请注意,北方图像使用了两次。

当你得到一个新标题时,像这样更新 ScrollView 的偏移量:

let range = CGFloat(350 * 4)
let offset = range * (CGFloat)direction / 360
scrollView.contentOffset = CGPointMake(offset, 0)

关于ios - 使用 iPad 指南针在 Swift 中平移图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33268096/

相关文章:

iphone - 判断number是否是5的倍数

ios - Xamarin iOS : How to connect a view from a storyboard to a controller?

ios - 在 UIButton 之间滑动

ios - 使用 Core Animation 的循环、可逆动画

ios - 在 iPhone X 上测试时应用程序崩溃,但模拟器运行正常, "EXC_BAD_ACCESS"是什么

Swift 弱惰性变量不会编译

javascript - 在 ReactVR 中创建 2D 场景

ios - 获取在 iOS 上的来电中显示的联系人图像

javascript - aframe 相机在 VR 模式下不 move

html - VR iframe 允许无法识别的功能