benzer bir görünüm sağlamak için mücadele ediyorum açılır anda her
, bu Yaptığım şeye benzer bir şey yapmak istiyorsun. Yani burada
nasıl yaptığımı, bir hack olarak adlandırılabilir, ancak böyle bir arayüz oluşturucu kurmak zorunda çekicilik :)
Birinci gibi çalışır:
Aramanın, araç çubuğunun alt öğesi olmadığına dikkat edin, bunun yerine yukarıdadır.
Arama çubuğunda "açık renk" arka planı ve esnek sol, sağ ve genişlikli otomatik oluşturma maskeleri bulunmalıdır.
Araç çubuğunun altında siyah arka planlı 1 pikseli bir etiket koyarsınız. [x = 0, y = 44, genişlik = 320 veya çerçeve genişliği, yükseklik = 1], aynı zamanda esnek sol, sağ ve genişlik otomatikleştirici maskeler. Bu, arama ekranı denetleyicisi tabloyu gösterdikten sonra aldığınız bir görünen pikseli gizlemek içindir görünüm. Ne demek istediğimi anlamak için onsuz dene.
Herhangi bir araç çubuğu öğesi ayarladınız ve bunlara ihtiyaç duyacağınız için bunlar için çıkışlara sahip olduğunuzdan emin olun.
- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller
{
// animate the search bar to the left ie. x=0
[UIView animateWithDuration:0.25f animations:^{
CGRect frame = controller.searchBar.frame;
frame.origin.x = 0;
controller.searchBar.frame = frame;
}];
// remove all toolbar items
[self.toolbar setItems:nil animated:YES];
}
sen güzel bir animasyon ile aşağıdaki olsun Bununla
- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
{
// animate search bar back to its previous position and size
// in my case it was x=55, y=1
// and reduce its width by the amount moved, again 55px
[UIView animateWithDuration:0.25f
delay:0.0f
// the UIViewAnimationOptionLayoutSubviews is IMPORTANT,
// otherwise you get no animation
// but some kind of snap-back movement
options:UIViewAnimationOptionLayoutSubviews
animations:^{
CGRect frame = self.toolbar.frame;
frame.origin.y = 1;
frame.origin.x = 55;
frame.size.width -= 55;
controller.searchBar.frame = frame;
}
completion:^(BOOL finished){
// when finished, insert any tool bar items you had
[self.toolbar setItems:[NSArray arrayWithObject:self.currentLocationButton] animated:YES];
}];
}
arama end:
Eğer arama başlatmak
kodu için şimdi
ve
...:)
öylesine .. UISearchBar'ı özelleştirmek ister misiniz? Bu soru mu? –
Sanırım iki sorum var: 1. UISearchDisplayController ekliyorsam UISearchBar'ı UIToolbar'a yerleştirmemeliyim? 2. UISearchDisplayController'daki UISearchBar'ın görünümü, bu işlemin nasıl yapıldığını belirlediğinde giderilebilir mi? Şu anda yeniden çizildi ve yeniden konumlandırıldı ve UIToolbar'daki UISearchBar görünümünü koruyor – Rammeln