使用NS [UI] ScrollView来操纵投影

时间:2016-05-09 11:24:51

标签: ios objective-c swift cocoa uikit

我有一个简单的金属设置,可以在MTKView的中间绘制图像。我希望我可以在滚动视图中添加缩放缩放和其他功能,因此我可以缩放图像并使用一些阈值移动它。

我也不想自己实现它,因为我的应用程序将同时存在于Mac OS和iOS中,这是支持和编写的代码的两倍。

有没有办法可以使用默认滚动视图控件来操纵我的投影?我的意思是在我的视图上以某种方式设置滚动视图,并以委托方式或其他方式获取一些数据。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可能想尝试 this.$http.post('/mysite/subscriptions', this.$data).then((response) => { swal({ title: "Success!", text: "Payment has been processed!", type: "success", showConfirmButton: false, allowEscapeKey: false, allowOutsideClick: false, timer: 5000, }), setTimeout(function(){ window.location.replace('/mysite/profile/dashboard'); }, 4000) }, (response) => { this.status = response.body.status }); 示例代码。这个想法是:

  1. 将MTKView放在后面(不是子视图)UIScrollView,
  2. 将虚拟内容视图作为UIScrollView
  3. 的子视图放置
  4. 使虚拟内容视图成为缩放的目标
  5. 正确设置UIScrollView,例如contentSize,contentInset等。
  6. 使UIScrollView和虚拟内容视图都透明
  7. 从虚拟内容视图的边界计算变换 - > MTKView的坐标 - >设备坐标
  8. 使用Metal
  9. 渲染时应用该变换

    所以,MTKView不在UIScrollView中,但这种技巧愚弄了用户的眼睛。

    https://github.com/codelynx/Metal2DScrollable

    相同的技术可能适用于macOS并进行一些调整,但我还没有尝试过。