2010-02-07 13 views
7

तालिका तालिका में से कई मैं वास्तविक तालिका के वास्तव में मंद (अल्फा बदलें?) देखता हूं जब खोज बार केंद्रित हो जाता है। मैं इसे लागू करने की कोशिश कर रहा हूं।UITableView जब UISearchbar फोकस हो जाता है तो वास्तविक तालिका को "मंद" कैसे करें?

जब मैं

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar 

ओवरलोड मैं की तरह

self.tableView.alpha = .5f 

कुछ करने के लिए कोशिश कर रहा हूँ लेकिन यह वास्तविक Searchbar के अल्फा बदल रहा है (अगर मैं अपने आप ही Searchbar है) या बदलते पूरे टेबल का अल्फा (सर्चबार सहित) यदि मेरे पास टेबल के नीचे खोज है तो आईबी में देखें।

मैं यहां क्या गलत कर रहा हूं। मैं बस टेबल को कैसे हटा सकता हूं और सबकुछ नहीं।

मुझे लगता है कि मैं वास्तव में समझने में असफल रहा हूं कि यह सब कुछ स्क्रीन पर कैसे स्तरित हो जाता है।

संपादित करें: संपर्क अनुप्रयोग मैं जो करने की कोशिश कर रहा हूं उसका एक अच्छा उदाहरण है।

उत्तर

10

इस तरह के अधिकांश ऐप्स तालिका के शीर्ष पर एक काला-पृष्ठभूमि UIView फेंक देते हैं और खोज बार को ध्यान में रखते समय इसे (5 या अल्फा के अल्फा में) फीका करते हैं।

+0

क्या आप कुछ त्वरित उदाहरण कोड पोस्ट कर सकते हैं? –

+4

[UIView प्रारंभएनीमेशन: शून्य संदर्भ: NULL]; [UIView सेटएनीमेशन अवधि: 0.5 एफ]; UIView * BlackView = [[UIView alloc] initWithFrame: CGRectMake (कुछ)]; [myTableView addSubview: blackView]; [UIView प्रतिबद्धएनीमेशन]; –

2

यदि आप UISearchDisplayController का उपयोग करते हैं, तो आपको यह व्यवहार मुफ्त में मिलता है।

0

आईओएस 8 (और कम से कम आईओएस 9.2 तक) के बाद से आप UISearchController का उपयोग करेंगे। दुर्भाग्यवश, वर्तमान में इंटरफ़ेस बिल्डर केवल अब UISearchDisplayController को बहिष्कृत करता है। तो, यह आपके टेबल व्यू कंट्रोलर में प्रोग्रामेटिक रूप से जोड़ने के लिए है, जिसमें मंद प्रभाव शामिल है:

let searchController = UISearchController(searchResultsController: nil) 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Use the current view controller to update the search results: 
    self.searchController.searchResultsUpdater = self 
    self.searchController.dimsBackgroundDuringPresentation = true 
    self.tableView.tableHeaderView = searchController.searchBar 
} 
संबंधित मुद्दे