2008-10-21 3 views
5

मैं ज्यादातर समय UISearchBar को छिपाना चाहता हूं और इसे केवल तब दिखाना चाहूंगा जब उपयोगकर्ता इसे चाहें।स्लाइडिंग UISearchBar

मैंने इंटरफ़ेस बिल्डर में एक UISearchBar लगाया है और इसे एक दृश्य के पीछे छुपाया है, जब उपयोगकर्ता एक बटन क्लिक करता है, तो यह निम्न कोड को कॉल करता है, जिसे मैंने आशा की थी कि यह खोज बार को सामने लाएगा और कीबोर्ड को देखने के लिए स्लाइड करेगा । लेकिन यह नहीं है ....

- (IBAction)search:(id)sender 
{ 
    [mySearchBar performSelector:@selector(searchBarTextDidBeginEditing:)]; 
} 

किसी को भी कोई विचार है कि कोड द्वारा UISearchBar को कैसे सक्रिय किया जाए?

धन्यवाद।

आपके उत्तरों के लिए धन्यवाद। अगर किसी के इच्छुक

- (IBAction)search:(id)sender 
{ 
    mySearchBar.hidden = NO; 
    [mySearchBar becomeFirstResponder]; 
} 

#pragma mark UISearchBarDelegate delegate methods 

// called when keyboard search button pressed 
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    mySearchBar.hidden = YES; 
    [mySearchBar resignFirstResponder]; 
// Do something with the mySearchBar.text 
} 

// called when cancel button pressed 
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
{ 
    mySearchBar.hidden = YES; 
    [mySearchBar resignFirstResponder]; 
} 

उत्तर

4

आप कीबोर्ड पॉप करना चाहते हैं, तो आप कॉल करने के लिए [mySearchBar becomeFirstResponder]

+0

महान संकेत है कि, चियर्स की आवश्यकता होगी – Dan

2

मैंने खोज बार को दृश्य के शीर्ष पर रखा और इसे छुपाया। फिर आपको बस इसकी आवश्यकता है:

mySearchBar.hidden = NO; 

इसे प्रदर्शित करने के लिए। आप जो कर रहे हैं उसके आधार पर आपको अंतर्निहित दृश्य का आकार बदलने की भी आवश्यकता हो सकती है (अन्यथा इसका शीर्ष भाग फसल हो जाएगा)। और यह अभी भी "स्लाइड" दृश्य में नहीं है। खोज बार के साथ उचित रूप से संलग्न एक पूरी तरह से नए दृश्य का उपयोग करना आसान हो सकता है।