今回からAppleのサンプルプロジェクトは
に突入。
このサンプルでは画面をタップすると画像選択用のビューがポップアップして、このビューで
![テン・シー・シー-1](https://stat.ameba.jp/user_images/20090828/13/xcc/75/0b/j/o0253037510242175907.jpg?caw=800)
といった、スクロールや画像のドラッグと
![テン・シー・シー-2](https://stat.ameba.jp/user_images/20090828/13/xcc/7d/31/j/o0347036610242176544.jpg?caw=800)
という配置換えのアニメーションとオートスクロール機能が使えます。
なので、
の実装の仕方が学べるわけです。
ということで、まずはRootViewControllerクラスの
を調べて
が呼ばれてるのを確認。
こいつが画像選択用のビューを表示したり、隠したりするみたいです。しかも、ちゃんとアニメーションで。アニメーションもいずれ、じっくりやってみたい...
ま、それは置いといて
と立て続けにチェック。
やってることはUIScrollViewを作って、そこにThumbImageViewを追加していく作業みたいです。
なので、基本は前回と同じ。ビューの構成はこんな感じ。
![テン・シー・シー-3](https://stat.ameba.jp/user_images/20090828/14/xcc/e8/bb/j/o0413025710242178190.jpg?caw=800)
私のプロジェクトでも、基本この構成で行きますが、まずはslideUpViewの機能だけの単体アプリをつくってみます。
ということで、いつものようにView-Base-Applicationプロジェクトを作成「iPhoneアプリ開発、その(118)」参照。今回のプロジェクトは最終的にscに合成するのでscフォルダの中に作成しました。これも、いつものパターン。
とりあえず、極力シンプルにしたサンプルプロジェクトだけ提供。
です。
これでも、ドラッグはできるし、手を離すともとの位置にアニメーションで戻る。
え、だって、この前の話でtouchesCancelledがバンバン飛んでくるって言ってたじゃん。と思った人、そーです、そのとおり!
この問題を解決してるメソッドがlistViewControllerクラスの
なわけです。試しにこの行を削除するなり、注釈にするなりして動かしてみてちょ。
説明は次回!
------------
サンプルプロジェクト:sc5.zip
Autoscroll
に突入。
このサンプルでは画面をタップすると画像選択用のビューがポップアップして、このビューで
![テン・シー・シー-1](https://stat.ameba.jp/user_images/20090828/13/xcc/75/0b/j/o0253037510242175907.jpg?caw=800)
といった、スクロールや画像のドラッグと
![テン・シー・シー-2](https://stat.ameba.jp/user_images/20090828/13/xcc/7d/31/j/o0347036610242176544.jpg?caw=800)
という配置換えのアニメーションとオートスクロール機能が使えます。
なので、
- UIScrollViewに埋め込んだUIViewで独自のドラッグをする
- ドラッグ時に、画像配置を調整するアニメーションをおこなう
- 画面外にドラッグしようとした時に自動的にスクロールさせる
の実装の仕方が学べるわけです。
ということで、まずはRootViewControllerクラスの
- (void)tapDetectingImageView: gotSingleTapAtPoint:
を調べて
- (void)toggleThumbView
が呼ばれてるのを確認。
こいつが画像選択用のビューを表示したり、隠したりするみたいです。しかも、ちゃんとアニメーションで。アニメーションもいずれ、じっくりやってみたい...
ま、それは置いといて
- (void)createSlideUpViewIfNecessary
- (void)createThumbScrollViewIfNecessary
と立て続けにチェック。
やってることはUIScrollViewを作って、そこにThumbImageViewを追加していく作業みたいです。
なので、基本は前回と同じ。ビューの構成はこんな感じ。
![テン・シー・シー-3](https://stat.ameba.jp/user_images/20090828/14/xcc/e8/bb/j/o0413025710242178190.jpg?caw=800)
私のプロジェクトでも、基本この構成で行きますが、まずはslideUpViewの機能だけの単体アプリをつくってみます。
ということで、いつものようにView-Base-Applicationプロジェクトを作成「iPhoneアプリ開発、その(118)」参照。今回のプロジェクトは最終的にscに合成するのでscフォルダの中に作成しました。これも、いつものパターン。
とりあえず、極力シンプルにしたサンプルプロジェクトだけ提供。
sc5/list/list.xcodeproj
です。
これでも、ドラッグはできるし、手を離すともとの位置にアニメーションで戻る。
え、だって、この前の話でtouchesCancelledがバンバン飛んでくるって言ってたじゃん。と思った人、そーです、そのとおり!
この問題を解決してるメソッドがlistViewControllerクラスの
[thumbScrollView setCanCancelContentTouches:NO];
なわけです。試しにこの行を削除するなり、注釈にするなりして動かしてみてちょ。
説明は次回!
------------
サンプルプロジェクト:sc5.zip