LoginSignup
11
12

More than 5 years have passed since last update.

筆圧感知お絵かきアプリサンプル

Posted at

機能の3dtouchメモの④に当たる機能を調べてみた。
iOS9.1でペンの関係でかなり変わるらしいけどとりあえずUITouchでforceで取れるということらしい。

ってことですごい簡単に筆圧感知お絵かきアプリを作って見ました。
今までお絵かきアプリって「UIBezierPath」を使ったんだけどこれだとパスを作って
最後に色、太さを決めるなんでとりあえず適当にいけそうな
Core Graphicsを使ったやつで実装してみました。
コードは
kameware/forcetouchtest
に置いてあります。
ただこのお絵かきアプリのやり方ってundo,redoの戻る進むの考え方ができないのでもっと良いやり方がアレば教えて下さい。

コードの解説としては
objc:ViewController.m
// 線太さ
float lineWidthc = 10.0;
if ([touch respondsToSelector:@selector(force)]) { // force対応判定
NSLog(@"force:%f", touch.force);
lineWidthc = lineWidthc * touch.force; // forceに合わせ太さを変更
}
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), lineWidthc);

ッて感じでデフォルトを10としてそれに足してforce(~1.0)をかけてるだけです。
簡単!でもこれじゃ戻れないからこのままではダメだ!どうすれば。。。。

■今回の参考
いい感じのgitサンプルとして
ynishi2014/PressTest
yusuga/ForceTapGestureRecognizer
が参考になりました。
ありがとうございます。

お絵かきアプリはこちら
Core Graphicsで作るiPad向けお絵描きアプリの基礎 (2/4)
を参考

UITouch Class Reference

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12