2017-10-17 31 views
6

रीफ्रेश करते समय गायब स्पिनर UITableViewController पर मानक UIRefreshControl और UISearchController का उपयोग करने का प्रयास कर रहा हूं। हालांकि ऐसा लगता है कि यह ऐसा नहीं करता है जो इसे माना जाता है। जब ताज़ा, स्क्रॉल, एक बड़ा खाली क्षेत्र के साथ नेविगेशन पट्टी छोड़ देता है शायद जहां स्पिनर माना जाता है:आईओएस 11 रीफ्रेश कंट्रोल + सर्च बार =

enter image description here

मैं एक नमूना परियोजना on GitHub है। यहाँ कैसे नियंत्रण स्थापित कर रहे हैं क्या है:

override func viewDidLoad() { 
    super.viewDidLoad() 

    let spinner = UIRefreshControl() 
    spinner.addTarget(self, action: #selector(refresh), for: .valueChanged) 
    refreshControl = spinner 

    searchController = UISearchController(searchResultsController: nil) 
    navigationItem.searchController = searchController 
} 

मैं बजाय UITableViewController पर एक है, कि एक फर्क नहीं पड़ता की UITableView पर संपत्ति के लिए ताज़ा नियंत्रण बताए कोशिश की है।

क्या कोई भी एक ही मुद्दे पर आया है?

+0

मैं भी इस मुद्दे को दिखाई दे रही है। यह मेरे लिए सही तरीके से काम करता है अगर मैं खोज बार को हटाता हूं या यदि मैं खोज बार को नेविगेशन इटैम पर सेट करने के बजाय तालिका दृश्य के शीर्षलेख के रूप में जोड़ता हूं। जब एक navbar दोनों को संभालने की कोशिश करता है तो एक बग की तरह लग रहा है। – McCygnus

+0

मुझे यह समस्या भी है। जब तक मैं "self.navigationItem.searchController = nil" द्वारा खोजबार को हटा नहीं देता, मुझे एक क्रैश मिलता है। – Bassebus

+2

मैं ऐप्पल के संपर्क में आया, उन्होंने पुष्टि की है कि यह एक बग है। –

उत्तर

0

आप पुराने तरीके, जो इस तरह है में UIRefreshController उपयोग कर सकते हैं:

override func viewDidLoad() { 
    super.viewDidLoad() 

    let spinner = UIRefreshControl() 
    spinner.addTarget(self, action: #selector(refresh), for: .valueChanged) 
    self.tableView.addSubview(spinner) 

    searchController = UISearchController(searchResultsController: nil) 
    navigationItem.searchController = searchController 
} 
संबंधित मुद्दे