2010-08-09 25 views
7

iPhone SDK ile ilgili en son sorunum.UISearchBar kapsam çubuğu nasıl görünür?

Tümünde bir UISearchBar ve temsilcisi var. Benim görünümü yüklediğinizde Ayrıca, benim görünüm ilk sunulduğunda beklendiği gibi, ben, kapsam çubuğu görmek,

self.searchDisplayController.searchBar.showsScopeBar = YES; 

Bu şekilde

diyoruz. Ancak arama çubuğunun içine ve dışına dokunursanız (veya bir arama gerçekleştirip iptal ederse bile), kapsam çubuğu tekrar gizlenir.

Benim sorum şu ki: kapsam çubuğunun her zaman görünür olması mümkün mü? Arama yaptıktan sonra bile mi?

Çok teşekkürler.

cevap

10

UISearchDisplayController sizin için kapsam çubuğunu gizliyor.

@interface MySearchBar : UISearchBar { 

} 

@end 

@implementation MySearchBar 

- (void) setShowsScopeBar:(BOOL) show 
{ 
    [super setShowsScopeBar: YES]; // always show! 
} 

@end 

Sonra Interface Builder, (bununla ilişkilidir senin görünümünde sahip Ara Bar sınıfını değiştirin:

bu yol etrafında UISearchBar alt sınıf ve geçersiz setShowsScopeBar uygulanmasını sağlamaktır UISearchDisplayController), bu örnekte yeni sınıf türüne - MySearchBar.

+0

UISearchDisplayDelegate yöntemlerinden birinin, kapsam çubuğunun gizlenmesini geçersiz kılacak bir yer sağlayacağını düşünebilirsiniz - ancak burada denediğim hiçbir şey işe yaramıyor. Alt sınıf UISearchBar işi yapar. – dodgio

+4

Bu başlangıçta çalışırken, arama çubuğunu tıkladıktan sonra iOS7'de aramayı iptal ettikten sonra kapsam çubuğu gizlenir. UISearchDisplayDelegate onu gizledikten sonra kapsam çubuğunu yeniden görüntülemek için iOS7'de kodlamanın bir yolunu bulamıyorum. Bir yol biliyor musun? – msec

İlgili konular