Objective-C 基本講座

UIViewをピンチジェスチャーでリサイズする

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
UIPinchGestureRecognizerを使ったピンチジェスチャーへの対応を紹介します。
講師:
05:15

字幕

このレッスンでは PinchGesture に対応する― 方法について学習します UITapGestureRecognizer と 名付けられているように タップもジェスチャーには違いありませんが もう少し iPhone らしく 2 本指を使ったジェスチャーに 対応してみましょう UIPinchGestureRecognizer を使って ピンチジェスチャーに対応してみます ピンチジェスチャーは ズームイン・ズームアウトに使う ジェスチャーです 使い方はUItapGestureRecognizer と同じですが こちらは指が画面から離れていない間は 指の位置が変わる度に 指定したメソッドが繰り返し呼び出されます またスケールという 2本の指が最初に認識された 位置を基準とした比率が 入っているプロパティを持っていて 常に更新されています この値をズーム比率に使えば ピンチジェスチャーに合わせて UIView を拡大 縮小できるわけです 実際にやってみましょう Xcode の画面に切り替えます ピンチジェスチャーによって 変更する UIView を インスタンス変数として1 つ用意しています 名前はbishop です UIPinchGestureRecognizer 自体は self.view に登録し ピンチジェスチャー用の メソッドでは受け取った― UIPinchGestureRecognizer の scale プロパティを使って その倍率にスケーリングする Affin 行列を作り bishop の transform プロパティに 設定しました ランします 2 本指をシュミレーションするには オプションキーを使います 指の間に合わせて bishop が大きくなったり 小さくなったりします ただ 今だと2 本指で触った時に 毎回 scale が 1 に リセットされるので ピンチの繰り返しで ズームすることができません この点を改善してみましょう 説明画面に戻ります この問題は bishop の拡大率を インスタンス変数に持ち UIPinchGestureRecognizer の スケール は この拡大率を変更するために 使うことで解決します ピンチの開始で UIPinchGestureRecognizer の スケールが 1 になるので この時点の拡大率を記憶し 指先の変化時には記憶していた拡大率に UIPinchGestureRecognizer の スケールをかけ それを bishop の新しい拡大率にする こうすることで 連続したズームが できるようになります そのためにはジェスチャーの 開始による呼び出しと 指先の変化による呼び出しを 区別する必要があるのですが これには UIPinchGestureRecognizer の 派生元の UIGestureRecognizer の state プロパティが使えます state はメソッドを呼び出した時の 状況を説明するもので 開始時には UIGestureRecognizerStateBegin が設定され 指の変化時には UIGestureRecognizerStateChanged が設定されています 実際にやってみましょう Xcode の画面に切り替えます インスタンス変数に bishop の 拡大率としてscale そしてピンチ開始時の拡大率を覚えておく― lastScale を加え ViewDidLoad では scale を1.0 に初期化します pinch メソッドでは if 文で state ごとに処理をわけます state にはほかに Ended やCanceled などもあり 必要に応じて使い分けるといいでしょう Canceled は例えばジェスチャー中に 電話がかかったりして ジェスチャー認識が 中断された時などに発生します 連続したズームが可能となりました このレッスンではピンチジェスチャーに 対応する方法について学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。