6

UISearchBar ile bir UISearchDisplayController kullanıyorum. Ben IB kullanarak benim uygulamasında bu UISearchBar koyup alıyorum:UISearchDisplayController, içerik arama sonucunu görüntülemek için otomatik olarak bir UIPopover denetleyicisi oluşturur?! Nasıl görevden alınmalı?

alt text http://img6.imageshack.us/img6/1985/screenshot20100701at156.png

İnce: Eğer bantlama başladığınızda, sonuç popovercontroller sihirli görünür (ı görünür yapmak için başıma bir şey yazmadım!) bir satır sonucu arasında tıklandığında

Sonra, ben bu aşamada PopoverController AMA görevden istiyorum, yanımda UIPopoverController örneği asla: UISearchDisplayController otomatik bir kapsüllü davranış varsa gibi görünüyor searchContentsController ürününü UIPopoverController içine sarar. her şey o kimse bu "sihirli" oluşturdu UIPopoverController başvurusunu nasıl biliyor mu

:(kapatmak için bunu UIPopoverController başvurusunu alamayan dışında herhangi bir şey yapmadan mükemmel çalışıyor çünkü gerçekten harika? (bu iPad'in gerçekten "büyülü" bir cihaz olduğuna dair bir kanıt;)

UIPopoverController'ın contentController'ından (örneğin, ana özelliği aracılığıyla) bir referansı olacağını düşündüm, ancak bir işaretçi bulmanın bir yolunu bulamıyorum. Bunu yapmak için:/

+0

Ben de ilk yanıtlayan olarak arama çubuğunu istifa çalıştı, ancak popover görünür kalır :( – yonel

cevap

11

[searchDisplayController setActive:NO animated:YES]; çalışmıyor mu? Yukarıdaki çözümlerin

+0

Ne biliyor musun? Sadece bunu denemek düşündüm ama daha önce, birisi soru o cevap verdi eğer ben kontrol Evet, evet, haklısın, işe yarıyor! Son teslim tarihinden hemen önce +100'ü vermekten mutluluk duyuyorum! : p – yonel

+1

Sevindim. Çalıştığını kontrol etmemiştim, ancak Apple'ın Geliştirici Belgelerine baktım. ;) – jrtc27

+0

Teşekkür ederiz! Bu mükemmel çalıştı! – ArtSabintsev

0

Havanın nasıl olduğu hakkında daha fazla ayrıntı ekleyebilir misiniz e UISearchDisplayController'ı IB'ye mi bağladınız? UIPopoverControllers ile iPad'de özel bir şey yapmaz, bu yüzden bir UIPopoverController olan bir denetleyiciye searchContentsController ayarladınız mı? Eğer öyleyse, ihtiyacınız olan referansa zaten sahip olursunuz, ancak normalde bu görüşü reddetmenize gerek yoktur, aramayı iptal ettiğinizde sizin için işten çıkarılır.

+0

UISearchDisplayController özel bir şey ile kablolu değildir: http://bit.ly/ bESjTT http://bit.ly/aG3qAY adresindeki kullanım durumunu yalnızca izole eden çok basit bir XCode projesi yükledim. Sadece bir UISearchDisplayController eklenmiş olan Bölünmüş görünüm denetleyicisi proje örneği eklendi.Bu projede, hiçbir UIPopoverController örneği oluşturulmadı:/SearchContentController bir UIViewController ve bir UIPopoverCOntroller için ayarlanmış değil. – yonel

1

Yok benim için çalıştı, ama bu onu çözdü:

[self.searchDisplayController setActive:NO animated:YES]; 
    [searchBar becomeFirstResponder]; 

Bu şekilde imleç alanında kalır ancak hiçbir sonuç olmadığı durumda popover atlamamış.

Tam kodu:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { 
    if ([searchText isEqualToString:@""]) { 
     [self.searchDisplayController setActive:NO animated:YES]; 
     [searchBar becomeFirstResponder]; 
    } 
} 
İlgili konular