2015-05-20 9 views
9

मेरे पास tableHeaderView में एक खोज बार के साथ एक तालिका दृश्य है, जिसे UISearchController द्वारा प्रबंधित किया गया है। मैं मानक UISearchController प्रस्तुति एनीमेशन का उपयोग करता हूं।UISearchController प्रस्तुति/बर्खास्तगी एनीमेशन के साथ एनिमेट कैसे करें?

मैं खोजबार एनीमेशन के समान अवधि के साथ एक और दृश्य को एनिमेट करना चाहता हूं। मैंने विभिन्न अवधि के मूल्यों की कोशिश की लेकिन हां वे पूरी तरह से बिल्कुल मेल नहीं खाते हैं।

तो मैंने सोचा कि यह -[UIViewControllerTransitionCoordinator animateAlongsideTransition:completion:] एपीआई का उपयोग करना बहुत अच्छा होगा।

दुर्भाग्य से मैं <UIViewControllerTransitionCoordinator> वस्तु का एक संदर्भ नहीं मिल रहा। विशेष रूप से, searchController.presentingViewController.transitionCoordinatornil है।

+1

से मेरे लिए काम करता है, तो आप कभी भी इस हल किया? मैं एक [समान मुद्दा] आ रही हैं (http://stackoverflow.com/questions/35944246/animate-uisearchbar-and-uibarbuttonitem-simultaneously-with-uisearchcontroller) – deadbeef

उत्तर

3

मैं एक ही समस्या थी, मैं UISearchController की प्रस्तुति के साथ-साथ अन्य विचार चेतन करने के लिए आवश्यक; कॉल करने के बाद खोज नियंत्रक transitionCoordinator उपलब्ध हो जाता है पेश करने के लिए और आप अपने विचारों चेतन करने के लिए

पेश कोड जोड़ सकते हैं:

func search() { 
    let searchController = UISearchController(searchResultsController: resultsController) 
    // Configure search controller 
    self.present(searchController, animated: true) {} 

    self.transitionCoordinator?.animate(alongsideTransition: { (context) in 
     // animate other views 
    }, completion: nil) 
} 

मैं भी थोड़ी देर के लिए, खोज नियंत्रक नकारने में देखा गया चेतन करना पड़ा इस मामले मैं UISearchControllerDelegate की willDismissSearchController तरीका लागू, transitionCoordinator इस पद्धति में तत्काल उपलब्ध नहीं है, लेकिन एक अतुल्यकालिक कॉल करने चाल

करता है नकारने:

func willDismissSearchController(_ searchController: UISearchController) { 
    DispatchQueue.main.async { 
     searchController.transitionCoordinator?.animate(alongsideTransition: { (context) in 
      // animate views 
     }, completion: nil) 
    } 
} 

यह शायद ज़रुरत पड़े आईओएस 9

+0

आप उपयोगकर्ता के लिए एक खोज पट्टी में दोहन पर भरोसा कर रहे हैं स्वचालित रूप से 'UISearchController' प्रस्तुत करें, फिर आप' WillPresentSearchController' में उसी तकनीक का उपयोग कर सकते हैं क्योंकि @juanjo ने 'willDismissSearchController' में उपयोग किया है –

संबंधित मुद्दे