Şu anda UIGestureRecognizers ile çakışıyor ve bu da her şeyin birbiriyle güzel olmasına neden oluyor. Ekranda, kullanıcının görüntüyü kaydırmasına ve görüntülemesine izin veren birkaç kareye (UIView) sahibim. Karenin eklendiği ana görünüme bir UIPinchGestureRecognizer ekledim, böylece kareyi odakta ölçeklendirebiliyorum. Ayrıca, her kareye UIPanGestureRecognizers ekledim, böylece ekranda hareket ettirilebilir. Parmaklarım diğerlerinin arasında hareket ederken, seçili bir kareyi ölçeklemek için çimdiklerken sorun kendini gösterir. Hata ayıklamaya dayanarak, parmaklarımın odaklanmamış karelere geçmesi durumunda, sıkışan hareketi iptal eden dokunuşları yiyorlar. "[Pan requireGestureRecognizerToFail: tutam]" özelliğini kullanmak, tutam önceliğini verir, ancak sürekli pan tanıyıcı artık tetiklenmediği için oluşturur ve yayınlar. Ayrıca UIPinchRecognizer'ı doğrudan kareye eklemeyi denedim ama işe yarıyor ama jest, karenin çok fazla ölçeklendirilmesi durumunda iyi çalışmayan karenin sınırları içinde olma zorunluluğuna sahip. Bunun etrafında bir yolu var mı? Ben bir şey özlüyorumiPhone - Birden çok UIGestureRecognizers ile çakışmalar
cevap
Sorununuzun bir yolu, tüm UIGestureRecognizers'larınız için tek bir ortak temsilci ayarlamak olabilir (bu görünüm için muhtemelen UIViewController). Bu temsilci, "Hareket" veya "Değiştirildi" durumlarında (yani bir tutam tanıyor ve işliyordu), harekete geçirme ifadesi tanıyıcı ("Değişti") durumdaysa, döndürme için NO döndürürseRecognizerShouldBegin: (UIGestureRecognizer *) jestRecognizer. Bu bir tutam jest sırasında herhangi bir pan jest tanıyıcıların yeme dokunuşlarını engellemelidir. Eğer tutam jest tanıyıcı durumunu, jest değil durumunu kontrol
@interface MyViewController : UIViewController <UIGestureRecognizerDelegate> {
UIGestureRecognizer *pinchGestureRecognizer;
}
Ve uygulanmasında
emin olun: arayüz dosyasında , sen tutam jest tanıyıcı bir başvuru kaydetmek gerekir tanıyıcı geçirilen:@implementation MyViewController
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if(pinchGestureRecognizer.state == UIGestureRecognizerStateBegan ||
pinchGestureRecognizer.state == UIGestureRecognizerStateChanged)
{
return NO;
}
else
{
return YES;
}
}
@ Tim: Bu harika çalıştı! Sanırım aklımda koşan çok fazla başka senaryo var ve bir sebepten dolayı bana açıklamak değildi ama bu tamamen mantıklı. Çok teşekkürler! BTW, cevaplara nasıl cevap veriyorsunuz veya yayınlarınızı nasıl düzenliyorsunuz? Giriş yapman gerekiyor mu? Sadece isim alanlarını kullanıyorum. Yine teşekkürler. – Dave
Yığın Taşması SSS sorusuna bakın "İtibar nedir?" Özetle, iyi sorular sorarak ve cevaplayarak diğer kullanıcılardan itibar kazanırsınız. Belirli eşiklerde düzenleme ve yorum yapma gibi ayrıcalıklar kazanırsınız. Zaten birileri (isminizin yanında 13) bir miktar hak kazandınız, çünkü birileri bu soruyu "oyladı" (sorunuzun yanındaki 1). –
Aslında, bu soruyu sorduğunuz için, cevaplarınızdan herhangi birine, her yanıtın altındaki "yorum ekle" bağlantısıyla ilgili herhangi bir yorumu yorumlayabilmeniz gerekir. Genelde insanlar böyle cevaplar yerine cevaplara cevap veriyor, ama endişe yok ... –
- 1. Qt MOC Dosya Adı Birden çok .pri dosyası kullanarak çakışmalar
- 2. Sürekli çoğaltma ile çakışmalar nasıl giderilir
- 3. mercurial: branşta çakışmalar var
- 4. PyMongo birden çok veriyi birden çok veri ile güncelleştirin
- 5. Varlık Çerçevesi ile birden çok ilişki birden çok
- 6. Backbone.js ile birden çok yönlendirici
- 7. iPhone Development - Birden çok görünüm/xib/nib kullanılarak karmaşık uygulama
- 8. Bileşenleri birden çok iPhone uygulamasında kullanmak üzere nasıl paketlerim?
- 9. iPhone uygulama geliri birden çok banka hesabı arasında bölünebilir mi?
- 10. VB uygulamasının birden çok örneğini açmayı engelle
- 11. Birden çok anahtar birden çok değer
- 12. Birden Çok DB'ye Karşı Birden Çok Bileşen
- 13. Birden çok veri modeliyle birden çok Realms
- 14. Birden çok değişkene birden çok sütun seçin
- 15. Tek arabirim ile birden çok uygulama kaydetme
- 16. Birden çok bağlantı kullanarak curl ile indirme
- 17. Birden çok eşitleme klasörü ile vagrant
- 18. Python ile birden çok pdf dosyasını açın
- 19. Birden çok OpenGL penceresini vsync ile eşitleme
- 20. Joker karakteri ile birden çok dosyayı silme
- 21. simple_form girişi ile birden çok alan
- 22. CASE bildirimi ile birden çok değer seçin?
- 23. Log4j ile birden çok günlük dosyası
- 24. Selenium'u birden çok örümcek ile başsız çalışan
- 25. Jest ile birden çok test dosyası çalıştıramıyorum?
- 26. Birden çok birleştirme ile MySQL sorgusunu hızlandır
- 27. Seçme ifadesi ile birden çok kaydı güncelleştirin
- 28. Harita ile birden çok işlevi uygulama
- 29. rvm ile birden çok rubygems sürümü kullanın?
- 30. Veri kümesini birden çok tablo ile doldurma?
uygulama http://developer.apple.com/library/ios/#samplecode/Touches/Introduction/Intro.html%23//apple_ref/ ([Touches_GestureRecognizers] benzer sesler Apple'dan doc/uid/DTS40007435) örnek uygulama. Aynı şeyi karelerle yapar ve aynı soruna sahip değildir. – Anna
@ aBitOvious: Teşekkürler, örnek kod aslında oldukça iyi. @ Tim: Şu anda temsilci ayarlamıyorum, bu yüzden kesinlikle bakacağım, çünkü kimin ne yediğini kontrol etmesine izin vermeliyiz. Kaynağı kazandığımda daha fazla bilgi edeceğim. – Dave
Çerez tabanlı hesaplarınızın yalnızca altı tanesini birleştirdim (ve buradaki her şeyi temizledim - bir haddinin hayatı asla kolay değildir). Lütfen bu hesabı kaydetmeyi düşünün. – Will