0

私は UIImageView (実行時にリモート サーバーから読み込まれた画像) を持っています。この画像をクリックして特定の URL (www.google.com など) を開きたいと思います。ボタンをクリックしてこれを行いましたが、imageViewでそれを行う方法がわかりません。提案やサンプルコードをいただければ幸いです。

ありがとう!!

4

2 に答える 2

2

必要なのはUIGestureRecognizerです

UITapGestureRecognizer* recognizer;
recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openLink)];
self.imageView.userInteractionEnabled = YES;
[self.imageView addGestureRecognizer:recognizer];

次に、メソッドを実装openLinkしてURLを開きます。

于 2012-07-20T13:31:06.503 に答える
0

Interface Builder(またはストーリーボード)で、UIImageViewを選択します。Control-drag画像からクラスのヘッダーファイルまで。「アクション」を選択し、必要に応じて名前を付けます。これは次のようなものを追加します

- (IBAction)loadURL:(id)sender;

あなたのヘッダーで、そして

- (IBAction)loadURL:(id)sender {
}

.mファイル内。この関数に必要なコードを挿入すれば、準備は整っていると思います。

うまくいったかどうか教えてください。

編集:おっと、私が少し速すぎたようです。UIImageViewにアクションを追加できないため、これは機能しません。もうすぐ編集します。

編集#2:

さて、最初に、画像ビューがxibまたはストーリーボードで「ユーザーインタラクションが有効」になっていることを確認してください。次に、ヘッダーファイルでUIImageViewをcontrolキーを押しながらドラッグして、画像のアウトレットを追加します。次に、UIResponderメソッドtouchesBegan、touchesMoved、touchesEnded(など)を使用して、画像ビューのタッチを検出します。これを.mファイルに追加します。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];

    if ([touch view] == yourImageView)
    {
            NSLog(@"Touched !");
    }

}
于 2012-07-20T13:31:09.337 に答える