2013-02-15 35 views
8

Kullanıcı arama çubuğuna odaklanınca iptal düğmesini gösteren arama çubuğunu uyguladım. Bunun için benim searchBarTextDidBeginEditing yöntemimde searchBar.showsCancelButton = YES; yazdım. searchBarSearchButtonClicked'da, klavyeden istifa ediyorum, böylece kullanıcı tam tablo görünümünü görüntüleyebilir.UISearchBar iptal düğmesi yanıt vermiyor

Sorun: Bu noktada, arama çubuğu iptal düğmesi yanıt vermiyor. Sadece bir kez arama çubuğunun tekrar odaklanmasını sağlar. Bu, arama çubuklarının varsayılan özelliği iptal düğmesidir veya kodumda bir şey eksik miyim? Tekrar arama çubuğuna odak vermeden iptal düğmesini kullanmak istiyorum.

+1

nasıl serachbar ait textfield firstresponder istifa yok diğer bazı mantık istiyorsanız

for (id object in [mySearchBar subviews]) { if ([object isKindOfClass:[UIButton class]]) { UIButton *searchBarCancelBtn = (UIButton*)object; [searchBarCancelBtn setEnabled:YES]; } } 

Bu yanıt izleyin? –

+0

cevabımı kontrol ettiniz mi? – Rajneesh071

+0

Doğru ... tasarımla olsun ya da olmasın, eğer mevcutsa çalışmalıdır. – Morkrom

cevap

4

Bu, arama çubuğu iptal etme düğmesinin varsayılan davranıştır. Diğer işlevler istiyorsanız, arama çubuğu için cancelbutton özelliğini kaldırabilirsiniz ve UIButton'u iptal düğmesi olarak kullanabilirsiniz.

+1

Teşekkürler! Kendi iptal butonumu uygulamaya çalışacağım – JiteshW

3

Odaklandığı zaman UISearchBar varsayılan davranışı olduğunu düşünüyorum ve yalnızca iptal düğmesi etkinleştirilecektir. Odaklanmadığı zaman UISearchBar numaralı iptali olayını iptal edemezsiniz.

Yani My ÖNERİSİ sizin iştir ulaşmak için,

  • UISearchBar
  • eylem ile "İptal" adlı
  • takın UIBarButtonItem
4

olarak özel manzaralı bir ToolBar

  • takın UIBarButtonItem oluştur Evet yapabilirsiniz UISearchBar iptal düğmesi yanıtını yapabilirsiniz. Varsayılan olarak devre dışıdır, ancak alt görünümüne erişebilir ve sonra iptal etmeyi iptal düğmesine ayarlayabilir. Eğer Custom clear button in UISearchBar text field

  • İlgili konular