'u içeren UIScrollView'da tek dokunuş algılaması UIScrollView'dan gelen UIImageView öğesini tutmaya çalışıyorum.'n' UIImageViews
Web'de yukarıdakileri başarmanın 2 yolunu buldum.
İlk yöntem: scrollviewer'a eklemeden önce uiimageview üzerinde bir dokunma hareketi oluşturun.
Bu yöntem benim için çalışmadı. handleSingleTap yöntemi hiçbir zaman aranmaz.
Neyi yanlış yaptığım/neden çalışmadığı hakkında fikirlerim yok.
UITapGestureRecognizer *singleTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
singleTap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:singleTap];
[singleTap release];
[framesSourceScrollview addSubview:imageView];
[imageView release];
- (void)handleSingleTap:(UIGestureRecognizer *)sender
{
NSLog(@"image tapped!!!");
}
2 Yöntem: Bu yöntemi kullanarak
@interface SingleTapScrollViewer : UIScrollView {
}
@end
@implementation SingleTapScrollViewer
- (id)initWithFrame:(CGRect)frame
{
return [super initWithFrame:frame];
}
- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event
{
// If not dragging, send event to next responder
if (!self.dragging)
[self.nextResponder touchesEnded: touches withEvent:event];
else
[super touchesEnded: touches withEvent: event];
}
@end
In the ViewController
- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event
{
// Process the single tap here
NSLog(@"Scroll view single tapped. touches count : %d", touches.count);
UITouch *touch = [touches anyObject];
UIImageView *imgView = (UIImageView*)touch.view;
NSLog(@"tag is %@", imgView.tag);
}
alt sınıf UIScrollView, touchesDown cevap denilen olsun demek ama '[dokunuşlar anyobject]' vurulmuştur hangi UIImageView değildir.
Her UIImageView üzerinde 'tag' ayarlamayı denedim, artan bir sayımla scrollview'a ekliyorum ama 0'a geri dönüyorum, hangi görüntüye dokununcaya dokunun.
Genel olarak kakao için yeni ve bu yanıtlayıcıyı başka bir şekilde nasıl kullanacağımı bilmiyorum.
Her türlü öneri/ipucu harika olurdu.
şimdiden teşekkürler. UIImageView'de userInteractionEnabled = YES ayarını
Whoa !! Jason, teşekkürler bir demet. Bunun hakkında hiçbir fikrim yoktu. Bu yardımcı olur!!!. Kodda 'n' uiimageviewers yaratıyordum. Bu standart kakaodaki tüm kontrollerde mi? –
no, normalde açık. Normalde etkileşim olmayan görünümlerden sadece birkaçı devre dışı bırakıldı. UILabel, akla ilk gelen UIImageView. –
, bir kullanıcı UIView'e bir UIGestureRecognizer eklediyse, userInterationEnabled'ın otomatik olarak ON'a döneceğini düşünür. Ancak tekrar Apple'dan hiç kimse benim fikrimi sormaz. :-) –