はてなブックマークに追加

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
はてなブックマークに追加

UIScrollViewの使い方 その3



サイトを移行しました。
iPhoneアプリと、そのプログラム



前回のプログラム
UIScrollViewの使い方 その2
までで、UIScrollViewを使って画像をスクロールするところまで出来るようになりました。

次は、画像の拡大縮小機能を実装してみます。
まずはヘッダファイル内でUIScrollViewDelegateプロトコルに準拠します。
三角カッコで囲まれたところが、その部分です。
プロトコルに準拠って何?ってかたはこちら
Objective-Cのプロトコル


SampleViewController.h

@interface ScrollViewController : UIViewController
<UIScrollViewDelegate>
{
IBOutlet UIScrollView *scrollView;
UIImageView *imageView;
}


SampleViewController.h

- (void)viewDidLoad {
[super viewDidLoad];

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.jpg"]];
[scrollView addSubview:imageView];
[imageView release];

scrollView.contentSize = imageView.frame.size;
scrollView.delegate = self;
scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 4.0;
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)_scrollView
{
return imageView;
}



viewDidLoad関数内でscrollViewのデリゲートを
自分のクラス(sampleViewController)に設定しておきます。
また、minimumZoomScaleとmaximumZoomScaleで、拡大縮小のリミット値を設定しています。

あとは、デリゲート関数viewForZoomingInScrollViewで、
拡大縮小したいViewを返せば完成です。

さっきからデリゲート、デリゲートって言っとるけど
デリゲートって何やねん!ぉらぉらって人はこちら
Objective-Cのデリゲート


ここまで記述できたら、コンパイル&実行してみましょう。

UIScrollView7.jpg

画面上でピンチイン、ピンチアウトするとそれにしたがって画像が拡大縮小します。
うまくいかなかった場合にはデリゲートが適切に設定されているか、
もう一度確かめてみてください。

ここまでのプロジェクトをココに置いておきます。
参考にしてみてください。
scroll2.zip


次回は拡大縮小と座標の対応について説明します
UIScrollViewの使い方 その4


スポンサーサイト

コメントの投稿

非公開コメント

No title

このブログを参考にUIScrollViewを使った制作をさせて頂いております。
こちらのその1、その3の通りに制作してみたところ
スクロールは問題なく動作するのですが、拡大縮小を一度行うと
UIscrollViewの大きさが変化し、元に戻せなくなったり
画像の位置が固定化されてしまったりしてしまいます。
改善点をご教授頂ければ嬉しい所存です

No title

コメントありがとうございます。
管理人のHokusonです。

このたびは、プログラムを書いていただいたのに
うまく動作しないということで、
大変申し訳ございませんでした。

viewForZoomingInScrollView:関数において
拡大縮小したいViewを返さなければいけなかったのですが、
imageViewではなく、scrollViewを返していたのが間違いだったようです。

間違っていた部分を修正しましたので、もう一度試していただければ幸いです。
お手数をおかけして申し訳ございませんが、
よろしくお願い致します。
開発アプリ

iDOF 色影 ラテアート ぱすてる

プロフィール

hokuson

Author:hokuson
京都在住。iPhoneアプリ「色影」や「iDOF」の開発者。アプリのレビューとかもしてみる。博士後期課程@R大学。ついに就職活動なるものをしなければいけないらしい。誰か雇ってください。笑。

カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
カテゴリ
最新コメント
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。