1

以下のコードを使用して、UIImageのタッチを検出しました

//

#import <UIKit/UIKit.h>

@interface KUIImageView : UIImageView
{


        CGPoint startLocation;
}
@end


@implementation KUIImageView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    // Retrieve the touch point
    CGPoint pt = [[touches anyObject] locationInView:self];
    startLocation = pt;
    [[self superview] bringSubviewToFront:self];
}
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    // Move relative to the original touch point
    CGPoint pt = [[touches anyObject] locationInView:self];
    CGRect frame = [self frame];
    frame.origin.x += pt.x - startLocation.x;
    frame.origin.y += pt.y - startLocation.y;
    [self setFrame:frame];
}



@end

touchesBeganにブレークポイントを設定しました

しかし、それはトリガーされませんでした

UIImageは、を使用してUIScrollView上にありました

[aScrollView addObject:aUIImageView];

コメントを歓迎します

4

1 に答える 1

0
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // here
        self.userInteractionEnabled = YES;
    }
    return self;
}
于 2012-05-10T08:36:01.487 に答える