0
當我使用UIBezierPath繪製用戶觸摸的位置時,如果用戶有時快速移動,我會得到像三角形尖端這樣的難點。任何線索可能造成這種情況?或者我可以如何解決它?UIBezierPath提供尖銳邊緣
我使用touchesBegan/Moved/Ended捕獲點並將它們放入UIBezierPaths的NSArray中。
當我使用UIBezierPath繪製用戶觸摸的位置時,如果用戶有時快速移動,我會得到像三角形尖端這樣的難點。任何線索可能造成這種情況?或者我可以如何解決它?UIBezierPath提供尖銳邊緣
我使用touchesBegan/Moved/Ended捕獲點並將它們放入UIBezierPaths的NSArray中。
儘管名稱,UIBezierPath
不只是繪製曲線。實際上,默認情況下它不會 - 大概你只是將touchesBegan
等返回的座標傳遞給addLineToPoint
方法。
而不是簡單地將所有的觸摸座標直接傳遞到UIBezierPath
你應該首先插入它們,以避免當你快速移動你的手指在屏幕上出現這些尖銳的線條。這並不難,雖然確實需要一些關於貝塞爾曲線如何工作和樣條插值的知識。
如果你正在尋找一個稍微簡單的出路,有幾個開源庫會爲你做這件事,比如這個:http://cocoacontrols.com/platforms/ios/controls/smooth-line-view