我在UITouch上遇到majorRadius屬性有問題。UITouch主要半徑不能順利更改
我正在實施繪圖應用程序,並希望添加某種「壓力」繪圖。
因此,對於這個我使用獲得觸摸的大小。但是MajorRadius財產的價值並沒有變化 - 他們改變了一些數字,但這對我並不好。
有人可以幫助我如何更順利地獲得變化或獲得預期行爲的證據嗎?
我在UITouch上遇到majorRadius屬性有問題。UITouch主要半徑不能順利更改
我正在實施繪圖應用程序,並希望添加某種「壓力」繪圖。
因此,對於這個我使用獲得觸摸的大小。但是MajorRadius財產的價值並沒有變化 - 他們改變了一些數字,但這對我並不好。
有人可以幫助我如何更順利地獲得變化或獲得預期行爲的證據嗎?
根據documentation這是一個近似值:
使用值在這個屬性來確定 報道由硬件觸摸的大小。 此值是 大小的近似值和可以通過在majorRadiusTolerance 屬性指定的量而變化。
如果需要壓力檢測在這裏你可以找到幫助:Tap pressure strength detection using accelerometer
當我試了一下,它的2 * majorRadiusTolerance
增量上升。
這是iOS8。在iOS7的API通過訪問
@interface UITouch (Private)
-(float)_pathMajorRadius;
@end
這確實有壓力區域平滑地改變並沒有公開,但你從OS could get the radius parameter。請注意,使用此界面會讓你從AppStore中被禁止。
對於您的繪圖應用程序,我建議使用樣條曲線繪製主要的半徑值並提取插值。
在ios 7我們使用pathMajorRadius繪圖與觸摸大小,它很好用。但在ios 8上,它的功能類似於MajorRadius。 –
@ВячеславОкулов:所以你有你的證據證明它是預期的行爲。 –
我試過這種方法,但似乎它只能用於單觸,但不能用於移動的觸摸。對於硬接觸它完美 –