5

के बाद प्रदर्शित नहीं होता है मेरे पास आईओएस 7 और
के लिए काम करने का आवेदन है I तालिका में खोज के लिए UISearchDisplayController का उपयोग किया।
हेडर व्यू खोज आईओएस 8 + एक्सकोड 6

समस्या:
के बाद खोज हैडर दृश्य iOS8 में प्रदर्शित नहीं किया जाता है। नीचे दी गई छवियों में प्रदर्शन के रूप में

से पहले खोज: enter image description here

खोज के बाद: enter image description here


मैं UISearchController उपयोग करने की कोशिश, लेकिन यह भी एक ही समस्या है मैं इस कोड link

मैं जोड़ने के लिए प्रयोग किया जाता टी में कोड नीचे PSMastreViewController.m

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIView *v = [[UIView alloc] init]; 
    v.backgroundColor = [UIColor greenColor]; 
    return v; 
} 


मुझे लगता है कि प्रतिनिधि जाँच - (UIView *) tableView: (UITableView *) tableView
viewForHeaderInSection: (NSInteger) अनुभाग
iOS8 के मामले में नहीं बुलाया जाता है।
संपादित करें:
जो मैं समझता हूं वह केवल UITableViewDataSource प्रतिनिधि को कहा जाता है, UITableViewDelegate नहीं था।
कृपया नहीं है कि मैं दोनों प्रतिनिधि viewDidLoad में सेट
प्रश्न:
1] यह एक यूआई परिवर्तन है?
2] कोई एक तो यह है कि प्रतिनिधि विधि जबरदस्ती फोन करेगा पैच है।

उत्तर

5

मैंने पाया जवाब इसलिए यहाँ लिख यह दूसरों की मदद कर सकते हैं एक ही समस्या का सामना करना पड़

सिर्फ प्रतिनिधि heightForHeaderInSection जोड़ने की जरूरत है और यह UISearchDisplayController के लिए UISearchController के लिए दोनों searchResultsController (iOS8) और searchResultsTableView के लिए शीर्ष लेख दिखाएगा (iOS7)

TPSMastreViewController.m में कोड नीचे जोड़े और यह समस्या का समाधान होगा।

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    return 20; 
} 

मैं इस सवाल :)
in iOS 8 UITableView heightForHeaderInSection is not optional

+0

पढ़ने अपने हैडर ऊंचाइयों हमेशा 20 हैं, तो बजाय सिर्फ UITableView की sectionHeaderHeight गुण सेट प्रतिनिधि विधि को लागू करने से मेरा उत्तर मिल गया। आप कहते हैं कि 1000 वर्गों था, तो वह 1000 से ऊंचाई गुणा करने के लिए अपने प्रतिनिधि विधि 1000 बार बुला की तुलना में कुल ऊंचाई प्राप्त करने के लिए मेज के लिए सबसे तेज़ है। – SomeGuy

+0

सुझाव के लिए धन्यवाद, लेकिन मेरी समस्या विधि viewForHeaderInSection जहां कोई कहा जाता है, को सौंपने खोज के बाद और इस viewForHeaderInSection लागू करने के बाद, अपने कहा जाता है। – Jageen

+0

इसे आज़माएं, यह भी काम करेगा (और बेहतर प्रदर्शन करेगा) [स्वयं।tableView setSectionHeaderHeight: 20]; – SomeGuy

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