让图书馆同时具有以下优势:
优点:
任何人都知道这是否可行或知道代码 - 请与我们分享。
答案 0 :(得分:1)
您可以通过查看iOS 8中提供的UITouch
属性majorRadius
和majorRadiusTolerance
来模拟行为,这些属性描述the approximate radius of the touch或“手指肥胖”。< / p>
这应该与压力松散相关。
我不确定属性会不断变化/产生touchesMoved:
回调流,但它可能是一个开始。
答案 1 :(得分:1)
我已经建立了一个库,可以作为没有3D Touch的设备的替代品。我的演示项目还演示了该项目如何支持这两种类型的设备。你可以在这里试试:PeekView
用法非常简单:
示例代码段:
PeekView.viewForController(
parentViewController: self,
contentViewController: controller,
expectedContentViewFrame: frame,
fromGesture: gestureRecognizer,
shouldHideStatusBar: true,
withOptions: ["Option 1": .Destructive, "Option 2": .Default, "Option 3": .Selected],
completionHandler: { optionIndex in
switch optionIndex {
case 0:
print("Option 1 selected")
case 1:
print("Option 2 selected")
case 2:
print("Option 3 selected")
default:
break
}
})
预览:
答案 2 :(得分:0)
Here 是一个开源项目,为iPhone模拟器提供了一个巧妙的调整,允许您在iOS模拟器中模拟名为SBShortcutMenuSimulator的3D触摸。
SBShortcutMenuSimulator允许您测试UIApplicationShortcutItem API的使用情况,即使没有支持3D触摸的设备。
自述文件中的屏幕截图显示了模拟器中应用程序快捷菜单的演示:
答案 3 :(得分:0)
您可以使用此代码模拟Simulator中的peek和pop: https://gist.github.com/nickfrey/07e2c6d8d2e5444fb91d
调整偷看和弹出之间的第二个dispatch_after
的时间。
当然,这只适用于调试,因为它使用私有API。
答案 4 :(得分:0)
这是苹果推荐的:
“为确保您的所有用户都可以访问您应用的功能,请根据3D Touch是否可用来分支您的代码。如果可用,请利用3D Touch功能。如果没有,请提供替代方案,例如采用触摸和保持,使用UILongPressGestureRecognizer类实现。“
请检查此链接:https://goo.gl/4ez21g
答案 5 :(得分:0)
STPopupPreview:https://github.com/kevin0571/STPopupPreview
一个易于集成的库,用于非3D Touch设备的峰值预览。