SORU
23 Temmuz 2010, Cuma


Ayar UİSwipeGestureRecognizer için yön

İPhone proje tabanlı görüntülemek için basit tokatlamak jest tanıma eklemek istiyorum. Tüm yönlere hareketleri (Sağ, Yukarı, Yukarı, Yukarı) kabul edilmelidir.

UİSwipeGestureRecognizer için: dokümanlar belirtilmiştir

Birden fazla UİSwipeGestureRecognizerDirection sabitler bit-VEYA işlenen kullanılarak belirterek, birçok yöne belirtebilirsiniz. Varsayılan yön UİSwipeGestureRecognizerDirectionright.

Ancak benim için çalışmıyor. Dört yöne YA da çiğnenmiş ve sağ sadece sol zaman bira tanınır.

- (void)viewDidLoad {
    UISwipeGestureRecognizer *recognizer;

    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionUp)];
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release]; 
    [super viewDidLoad];
}

-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
    NSLog(@"Swipe received.");
}

Ben sabit bir görünüm için dört tanıyıcıları ama merak ediyorum ekleme neden dokümanlar belirtildiği gibi işe yaramadı.

- (void)viewDidLoad {
    UISwipeGestureRecognizer *recognizer;

    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release];

    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release];

    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionDown)];
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release];

    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release];

    [super viewDidLoad];
}

-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
    NSLog(@"Swipe received.");
}

CEVAP
5 AĞUSTOS 2010, PERŞEMBE


Bir hata var gibi görünüyor. Sizin yaptığınız gibi izin yönü(lar) belirleyebilirsiniz. Ama erişmeye çalıştığınızdagerçekyine de biraz olsun aksiyon seçici yöntemi tokatlamak tetikleyen yönü maskesi ilk olarak ayarlayın (izin verilen talimatlar için).

Bu gerçek yönünü kontrol eder 1 den fazla yön verilir her zaman başarısız olacaktır. Sen 'yön' seçici yöntemi (ıe -(void)scrollViewSwiped:(UISwipeGestureRecognizer *)recognizer). Bu değer çıktı, ne zaman kendin için bunu kolaylıkla görebilirsiniz

Bir hata raporu (#8276386) Apple için açtı.

[Güncelleme] düşünülmüştü olarak Apple davranış çalıştığını söyleyen bir cevap aldım.

Bir tablo içinde bir tablo örneğin görünümü sola veya sağa kaydırın hücre 'sil' (sol ve sağ) için kaydırma hareketi kümesinin yönde olurdu . tetiklemek için Görünüm çok

Bu özgün çözüm kullanılması gerektiği gibi olduğu anlamına gelir. Özellik sadece jestler almak için kullanılabilir yönünde tanıma tetikleyen doğru, ama bu yöntem gerçek yönü için karşılaştırmak için başarılı bir tanıma üzerine yapılan tanınmıyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007