2010-06-16 14 views
15

जब तालिका खाली है (पहली बार खोज बार संपादन से पहले), कोई संपादन अवधि होने पर कोई स्कोप बार नहीं दिखाना है, और आखिरकार इसे संपादित करते समय इसे दिखाएं। मैं UISearchBarDelegate प्रोटोकॉल के बारे में जानता हूं, लेकिन मुझे नहीं पता कि एनीमेशन के साथ स्कोप बार को कैसे दिखाना/छुपाएं। मुझे पता है कि UISearchBar में setShowsScopeBar: है, लेकिन setShowsCancelButton:animated के लिए setShowsScopeBar:animated: कोई तरीका नहीं है।एनीमेशन के साथ UISearchBar की स्कोप बार को आप कैसे छुपा/दिखाते हैं?

संपादित ऐसा नहीं है कि दिखा के बाद [searchBar sizeToFit] कॉल करने के लिए/गुंजाइश बार छुपा महत्वपूर्ण है। क्या इसे एनिमेट करने का कोई अच्छा तरीका है? (क्या मुझे this करना चाहिए? यह काम नहीं करता है।)

+0

एक ही सोच: - संस्करण स्विफ्ट 3

public func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool { searchBar.showsScopeBar = true searchBar.sizeToFit() searchBar.setShowsCancelButton(true, animated: true) return true } public func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool { searchBar.showsScopeBar = false searchBar.sizeToFit() searchBar.setShowsCancelButton(false, animated: true) return true } 

स्रोत

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar { searchBar.showsScopeBar = YES; [searchBar sizeToFit]; [searchBar setShowsCancelButton:YES animated:YES]; return YES; } - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar { searchBar.showsScopeBar = NO; [searchBar sizeToFit]; [searchBar setShowsCancelButton:NO animated:YES]; return YES; } 

संपादित करें:

रद्द बटन के (जिले) उपस्थिति एनिमेट के छोटे बोनस के साथ पूर्ण करें कोड बात, यह थोड़ा असंगत है। –

उत्तर

43

यहां रद्द करने के दौरान रद्द करें बटन और स्कोप बार को प्रदर्शित करने का तरीका बताया गया है। http://www.alexandre-gomes.com/?p=418

+2

कोड काम करता है, लेकिन यह खोज बार के समान लाइन पर स्कोप बार दिखाता है। क्या स्कोप बार को गतिशील रूप से प्रदर्शित करने का कोई तरीका है, लेकिन खोज क्षेत्र को बोल्ड करें? – andrei

+0

क्या आपने कभी इस के आसपास एक रास्ता खोजा है, @andrei? –