2012-03-29 10 views
4

私はプログラミングがとても新しいので、これをしようとするときに問題があります。私はUIImageViewで画像を表示するアプリケーションを持っており、ユーザがそれをタップすると画像が拡大されるようにしたいと思います。これを行う最も簡単な方法は、UIImageView上に半透明のボタンを隠し、ユーザーがそれをタップするときにアクションを開始することだと思いました。それは私が得る限りでは、私の行動方法がどのように見えるべきか分かりません。タップ時にUIImageViewを拡大するには

- (IBAction)enlargeImage1:(id)sender { 
    CGRect myImageRect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 80.0f); 
    UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect]; 
    [myImage setImage:[UIImage imageNamed:@"gradient-253x80.png"]]; 
    [self.view addSubview:myImage]; 

} 

私のUIImageViewをImageViewの命名された、と私はImageViewの上にあるUIButtonに上記の方法を添付:これは私がこれまで持っているものです。私が画像をクリックすると、それは全く拡大しません。どんな助けやアドバイスも大歓迎です、ありがとうございます!

答えて

4

これには2通りの方法があります。表示されているように透明なボタンを持つことができます。どちらのボタンはタップに反応し、画像ビューは下に表示されます。

もう1つの方法は、単にUIImageViewを削除し、単純にUIButtonを持つことです。 xib /ストーリーボードのボタンタイプをカスタムボタンに設定することができます。次に、インターフェイスビルダでボタンのイメージまたは背景イメージを設定できます。ボタンをアクションに接続するだけです。あなたの実装で

- (IBAction)buttonTapped:(id)sender; 

あなたは単にUIImageViewまたはあなたのアプローチに応じて、UIButtonのフレームを変更する必要があります:あなたのヘッダファイルに以下のよう

あなたの行動は何かである可能性があります。

- (IBAction)buttonTapped:(id)sender { 
    UIButton *button = (UIButton *)sender; 
    [button setFrame:CGRectMake(0, 0, 100, 100)]; 
    // or [yourImageViewName setFrame:CGRectMake(0, 0, 100, 100)]; 
} 

必要に応じてCGRectMakeの値を調整する必要があります。最初の2つの引数は、ボタン/イメージが親ビューに表示される場所のx座標とy座標です。 2番目の引数は、ボタン/イメージの幅と高さです。

希望に役立ちます。

* EDIT はあなたのヘッダーファイル内のコンセントにUIImageViewを接続することがありますか?

他のイメージを作成する代わりに、既存のイメージのサイズを変更するだけで済みます。あなたは次のようにこれを行うことができます:

[self.imageView setFrame:CGRectMake(0, 0, self.view.frame.size.width, 80)]; 
+0

素晴らしい、あなたの助けを大変ありがとう! –

+0

代わりにUIViewを使用できますか?それは私が持っている問題だけど、私は本当にまだそれに近づいていない...:P – jsetting32

関連する問題