開発手記140826
開発手記140827
Guide.開発記
定規のアルゴリズムを考えていきます。
先日作成したイメージラフがこちら

イメージしている動作の元となっているものを詳しく観察してみます
良く見るPhoto○hopとか、W○rdとかExc○lとかのルーラーですね
・動作確認

まだ単なる画像です。
拡大縮小に合わせて線の間隔も変更される。
拡大率によって、ラベルの内容と位置も変更される。
・実装方法

定規の位置は画面端固定なので、画像ScrollViewとは別にScrollViewを配置します。
UIScrollViewのDelegateメソッド- (void)scrollViewDidScroll:(UIScrollView *)scrollViewにて、画像のスクロールに定規のスクロールを追従させる動作を実装します。
定規線は拡大率によって間隔が変更されるので、UIViewのカスタムクラスを作成してdrawRect内で線をひく事にします。
CGContextを使用して線をひいています。
UIView - iPhoneアプリ開発の虎の巻
http://iphone-tora.sakura.ne.jp/uiview.html
作成したカスタムクラスを定規のScrollViewに格納します。
・実装済み画像(シミュレータです)

分かりやすく定規のラベルの背景色を変更しています。
青色とオレンジ色です。
画像をスクロールすると定規も追従します。

まだ実装していないですが、0以下マイナス分も表示する様にします。
次回
ピンチによる拡大動作に対応させます。
アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。
定規のアルゴリズムを考えていきます。
先日作成したイメージラフがこちら

イメージしている動作の元となっているものを詳しく観察してみます
良く見るPhoto○hopとか、W○rdとかExc○lとかのルーラーですね
・動作確認

まだ単なる画像です。
拡大縮小に合わせて線の間隔も変更される。
拡大率によって、ラベルの内容と位置も変更される。
・実装方法

定規の位置は画面端固定なので、画像ScrollViewとは別にScrollViewを配置します。
UIScrollViewのDelegateメソッド- (void)scrollViewDidScroll:(UIScrollView *)scrollViewにて、画像のスクロールに定規のスクロールを追従させる動作を実装します。
定規線は拡大率によって間隔が変更されるので、UIViewのカスタムクラスを作成してdrawRect内で線をひく事にします。
CGContextを使用して線をひいています。
UIView - iPhoneアプリ開発の虎の巻
http://iphone-tora.sakura.ne.jp/uiview.html
作成したカスタムクラスを定規のScrollViewに格納します。
・実装済み画像(シミュレータです)

分かりやすく定規のラベルの背景色を変更しています。
青色とオレンジ色です。
画像をスクロールすると定規も追従します。

まだ実装していないですが、0以下マイナス分も表示する様にします。
次回
ピンチによる拡大動作に対応させます。
アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。
開発手記140828
Guide.開発記
ガイドグリッド間隔の拡大率対応実装をする


ピンチによるUIScrollViewの拡大縮小は
Delegateメソッドの
- (void)scrollViewDidZoom:(UIScrollView*)scrollView
を実装した上で
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
にて拡大させたいUIViewをreturnする。
定規の表示更新はscrollViewDidZoom内でカスタムクラスをsetNeedsDisplayしている。
これで画像の拡大によって、グリッド間隔の更新が出来る


ちなみに、UIScrollViewを拡大縮小した時に中央揃えにするのは↓のサイトを参考にしています。(通常左上付きになる)
http://hmdt.jp/blog/?p=194
このままだと表示がぎちぎちになってしまうので、拡大率によって表示を分けなければいけない。
次回
画像の拡大率によってラベルの間隔、表示の更新を行う実装をします。
拡大率によって、グリッド間隔の調整も行います。
アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。
ガイドグリッド間隔の拡大率対応実装をする


ピンチによるUIScrollViewの拡大縮小は
Delegateメソッドの
- (void)scrollViewDidZoom:(UIScrollView*)scrollView
を実装した上で
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
にて拡大させたいUIViewをreturnする。
定規の表示更新はscrollViewDidZoom内でカスタムクラスをsetNeedsDisplayしている。
これで画像の拡大によって、グリッド間隔の更新が出来る


ちなみに、UIScrollViewを拡大縮小した時に中央揃えにするのは↓のサイトを参考にしています。(通常左上付きになる)
http://hmdt.jp/blog/?p=194
このままだと表示がぎちぎちになってしまうので、拡大率によって表示を分けなければいけない。
次回
画像の拡大率によってラベルの間隔、表示の更新を行う実装をします。
拡大率によって、グリッド間隔の調整も行います。
アプリごとの制作過程は、ブログの開発記カテゴリから一覧表示する事が出来ます。