Force Touch on iOS


iOS 8 で擬似 Force Touch を実装。
(3D Touch が搭載されていなかった時代に独自に実装したもの)

ボタンを軽くタッチすると背景が緑色に、強くタッチすると赤色に変化する。タッチの強度(現状の iPhone では圧力を測れないので、実際には指の接地面積)を半透明の円が示している。

UITouch.majorRadius で取った指の接地面積を応用する。BarButtonItem のハイライト演出にするといい感じ。

UITouch.majorRadius に閾値を設定して、ある程度の接地面積を取ったら Force Touch とする。 これを応用して、通常タッチではアイコン、タッチしてから更に押し込むとラベルやヘルプを表示できるボタンを実装してみた。