私は写真コラージュアプリケーションに取り組んでいます。画像ビューでアクションを実行して、誰でも問題を解決できるようにしたいと考えています。写真ライブラリから画像を選択し、画像ビューをダブルクリックした後、画像ビューに表示すると、この画像をトリミングするために新しいビューをプッシュまたは表示したい.....だから、誰かが私の問題を解決するために何をすべきか教えて.. .
8 に答える
タイプ custom の UIButton を使用し、その中に画像を配置します。これで完了です。
ImageView のジェスチャーを追加する
UITapGestureRecognizer *sg=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(HandleEvent)];
sg.numberOfTapsRequired=2;
[BottomBar addGestureRecognizer:sg];
[sg release];
ここでタスクを実行します。
-(void)HandleEvent
{
// your task
}
ありがとう
ボタンを作成し、その色をクリアします。ボタンの背面に画像ビューを配置して、画像ビューが表示されているように見え、ボタンが表示されないようにします。ボタンにイベントをアタッチします。
UIImageView を使用している場合は、必ずsetUserInteractionEnabled:YES
. 次に、touchesBegan、ended、(canceled) でタッチを確認する必要があります。
UIImageView を使用するように設定されているため、UIImageView をサブクラス化し、インターセプトするタッチ メソッドをオーバーライドする必要があります。例えば:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// Call super to make sure you don't lose any functionality
[super touchesBegan:touches withEvent:event];
// Perform the actions you want to perform with the tap.
}
UIImageViews の代わりに UIButtons を使用することは、各ボタンから View Controller のアウトレットに接続をドラッグするだけで、アクションを処理できるという優れたアイデアです。現在UIImageViewsで行っているように、ボタンに背景画像を設定できます。ボタンのタイプをカスタムに設定すると、g に適しています
これを試して
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint locationPoint = [[touches anyObject] locationInView:self.view];
CGPoint viewPoint = [imageView convertPoint:locationPoint fromView:self.view];
if ([imageView pointInside:viewPoint withEvent:event]) {
//do something
}
}