2010-12-07 21 views
5

UIToolbar içinde UIBarButtonItem olarak iç içe geçmiş bir UISearchBar'ım var. Temel işlevsellik çalışır, ancak iptal düğmesi ve kapsam çubuğu görüntülenmeyi reddeder. Arabirim oluşturucuda bunları etkinleştirmeyi denedim ve el ile [searchBar setShowsCancelButton:YES]'u aramayı denedim, ancak her iki yöntem de işe yaramıyor. Herhangi bir fikir?Bir UIToolbar içindeki UISearchBar iptal et göster düğmesi

Bu bir iPad üzerindedir. IOS 3'te denedim ve bu da 4.2'de çalışmıyor.

cevap

3

UISearchBar'ın nasıl çalıştığıyla ilgili bir sınırlamayı vurdunuz. Bir geçici çözüm, UISearchBar'ı UIToolbar üzerinden gerçek bir şekilde araç çubuğunda yaşamaktan çok katmanlamaktır. Bu görsel olarak çalışır çünkü bir arama çubuğu tıpkı bir araç çubuğu gibi çizilir - geçişleri aynıdır.

11

UISearchBar'ı başka bir görünümle sarmanız gerekir.

UISearchBar *searchBar = [UISearchBar new]; 
UIView *searchBarContainer = [[UIView alloc] initWithFrame:searchBar.frame]; 
[searchBarContainer addSubview:searchBar]; 
UIBarButtonItem *searchBarItem = 
    [[UIBarButtonItem alloc] initWithCustomView:searchBarContainer]; 
0

Arama çubuğunda herhangi bir İptal düğmesini kullanmak gerçekten gerekli mi? Sadece dizinin temizlenip temizlenmediğini görmek için textDidChange yöntemini kullanın ve bunu aynı şeyi yapmak için kullanın.

+1

Yani kullanıcı son karakteri sildikten sonra klavyenin kapatıp düzenlemesini yapması gerektiğini söylüyorsunuz? Bu, uygulamanın parçası üzerinde küstah davranış gibi görünüyor. – SG1