2015-04-17 19 views
1

我在UITouch上遇到majorRadius屬性有問題。UITouch主要半徑不能順利更改

我正在實施繪圖應用程序,並希望添加某種「壓力」繪圖。

因此,對於這個我使用獲得觸摸的大小。但是MajorRadius財產的價值並沒有變化 - 他們改變了一些數字,但這對我並不好。

有人可以幫助我如何更順利地獲得變化或獲得預期行爲的證據嗎?

回答

0

根據documentation這是一個近似值:

使用值在這個屬性來確定 報道由硬件觸摸的大小。 此值是 大小的近似值和可以通過在majorRadiusTolerance 屬性指定的量而變化。

如果需要壓力檢測在這裏你可以找到幫助:Tap pressure strength detection using accelerometer

+0

我試過這種方法,但似乎它只能用於單觸,但不能用於移動的觸摸。對於硬接觸它完美 –

0

當我試了一下,它的2 * majorRadiusTolerance增量上升。

這是iOS8。在iOS7的API通過訪問

@interface UITouch (Private) 
-(float)_pathMajorRadius; 
@end 

這確實有壓力區域平滑地改變並沒有公開,但你從OS could get the radius parameter。請注意,使用此界面會讓你從AppStore中被禁止。

對於您的繪圖應用程序,我建議使用樣條曲線繪製主要的半徑值並提取插值。

+0

在ios 7我們使用pathMajorRadius繪圖與觸摸大小,它很好用。但在ios 8上,它的功能類似於MajorRadius。 –

+0

@ВячеславОкулов:所以你有你的證據證明它是預期的行爲。 –