読者です 読者をやめる 読者になる 読者になる

iOSコピペコーディング

できることは知ってるけど、コードってどうやって書くんだっけ?をコピペで解決

3d Touchの圧力を検出

iPhone6sから搭載された3DTouchの圧力の検出方法です。

UITouchのPropertyにforcemaximumPossibleForceが追加されているので、適宜抽出します。
押している最中の圧力を動的に取得する場合はtouchesMovedあたりで取ってやればOK。

-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    UITouch *touch = [[event allTouches] anyObject];

    double force = touch.force;

    double max = touch.maximumPossibleForce;

    double level = 0;

    if (max != 0 ) level = force/max;

    NSLog(@"touchesMoved Max:%f Force:%f level:%f",max,force,level);

}