0

scrollview にいくつかの uiimageview を追加しましたが、uiimageview に触れるといくつかのアクションを実行したいと考えています。しかし、私のタッチデリゲートメソッドは呼び出されていません。以下は私のコードです:

int x = 0;
for (int i = 0; i < [arr count]; i++){
    UIImageView *myImageview = [[UIImageView alloc] initWithFrame:CGRectMake(x, 0, 320, self.view.frame.size.height-45)];
    myImageview.userInteractionEnabled = TRUE;
    myImageview.opaque = YES;
    //[myImageview setImage:[arr objectAtIndex:i]];
    myImageview.tag = 100+i;
    [scrollvw addSubview:myImageview];
    [myImageview setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[(NSDictionary*)[arr objectAtIndex:i] objectForKey:@"image"]]] placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){
        //reload data here
        myImageview.image = image;


    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
        //handle errors here
    }];

    x += myImageview.frame.size.width;

}

[scrollvw setContentSize:CGSizeMake(x, self.view.frame.size.height-45)];

次のメソッドを追加しましたが、機能しません。

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

UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];

if (touch.view.tag > 0) {
    touch.view.center = location;
}

NSLog(@"tag=%@", [NSString stringWithFormat:@"%i", touch.view.tag]);

}

誰かがタッチデリゲートメソッドを呼び出すのを手伝ってくれませんか。

よろしく
パンカイ

4

2 に答える 2

0

次のように UITapGestureRecognizer を画像に追加してみませんか。

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(testMethod:)];

[myImageview addGestureRecognizer:tap];

- (void)testMethod:(id)sender {
    UIImageView *sent = (UIImageView *)sender;

    NSLog(@"Image Tag: %d", sent.tag);
}
于 2013-01-23T18:41:30.777 に答える
0
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

{

UITouch *touch = [touches anyObject];

touchPoint = [touch locationInView:imageView];

}

.h ファイルに QuartzCore フレームワークがインポートされていることを確認してください。

于 2013-01-24T05:57:31.710 に答える