5

Tamam, peki ben bu resmi benzer bir Belge Görüntüleyici oluşturmak yapmak çalışıyorum: Ekran yerde dokunulduğunda enter image description hereÖzel QLPreviewController veya UIDocumentInteractionController

Temelde gerçekleşmesi gereken budur, , üst ve alt çubuk görünecektir. Tekrar dokunun ve yok olurlar.

QLPreviewController alt sınıfına sahibim ve zaten QLPreviewController ile gelen (üst) gezinme çubuğundan yararlanmayı başardım. Bu iyi çalışıyor. Şimdi üst çubuk görüntülendiğinde görüntülenecek alt çubuğu almam gerekiyor. Sayfanın altına bir UIToolbar ekleyebilirim, ancak alttaki çubuğu gizlemek/göstermek için dokunma olaylarını engellemem gerekiyor. İşe nasıl başlayacağımı anlayamıyorum. UITapGestureRecognizer'u QLPreviewController alt sınıfının görünümüne hiç şans getirmeyecek şekilde eklemeyi denedim. Ayrıca, UITapGestureRecognizer numaralı bir UIView katmanı oluşturmayı denedim, ancak bu, kullanıcı formunun alttaki belgeyle etkileşimini engelledi.

Bunun nasıl yapılacağı konusunda herhangi bir fikri olan var mı? Şimdiden teşekkürler!

cevap

3

Tamam, sorunun ne olduğunu UITapGestureRecognizer ile buldum. Sen

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

fonksiyonunu geçersiz kılmak ve evet dönmek sonra kendine temsilci ayarlayın ve gerekir. basitçe Sonra

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(documentTapped:)]; 
tapGesture.cancelsTouchesInView = NO; 
tapGesture.delegate = self; 
[self.view addGestureRecognizer:[tapGesture autorelease]]; 

: Yani benim QLPreviewController alt sınıfta, ben viewWillAppear içinde UIGestureRecognizerDelegate uygulanan ve

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return YES; 
} 

Bu şekilde, QLPreviewController hala çok olmayan diğer tüm musluk dokunmatik olaylarını alacak kullanıcı yine belgenin

0

Alt Sınıf QLPreviewController ile etkileşim ve sonra geçersiz kılabileceği

-(void)contentWasTappedInPreviewContentController:(id)item {} 

İşte bu kadar!

+0

Maalesef bu, elmanın özel bir API olduğunu düşündüğünden değerli bir çözüm gibi görünmemektedir. http://stackoverflow.com/questions/6091027/qlpreviewcontrollers-view#comment34156919_22231721 adresine bakın. – Lifely

İlgili konular