UITableViewCell की डिफ़ॉल्ट ऊंचाई क्या है?


166

मुझे लगा कि यह जानकारी आसानी से मिल जाएगी :-)

UITableViewCell की डिफ़ॉल्ट ऊंचाई क्या है? यह 44 पिक्सल्स जैसा दिखता है, लेकिन मैं निश्चित होना पसंद करूंगा।

जवाबों:


361

यह 44 पिक्सल है। निश्चित रूप से। मैं उस नंबर को कभी नहीं भूलूंगा।

४४ पीएक्स यूआईटूलबार और यूनावीगेशनबेर के लिए डिफ़ॉल्ट ऊंचाई भी है। (लैंडस्केप ओरिएंटेशन के लिए ऑटोरोटेट होने पर दोनों 32px पर स्विच करते हैं।)


61
हाहा, "मैं उस नंबर को कभी नहीं भूलूंगा" अशुभ लगता है ;-)
रोब

4
@antony: view.bounds.size.height
samvermette

4
@ माइकयार्ड: आपने शायद यह पहले ही समझ लिया है, लेकिन 1px सेपरेटर ऊंचाई में शामिल है। यह वास्तव में सेल के सबसे नीचे की सामग्री को कवर करता है।
बेन एस

44
तकनीकी रूप से, यह 44 अंक है। यह रेटिना डिस्प्ले पर 88px पर आ जाएगा। बाल या कुछ भी विभाजित करने के लिए नहीं।
बेन मोजर

23
tableView.rowHeight
हंटर

27

यदि आप किसी ऐसे उपकरण पर डिफ़ॉल्ट आयाम चाहते हैं जिसका आप उपयोग कर सकते हैं: UITableViewAutomaticDimension

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewAutomaticDimension;
}

हालाँकि 44 पिक्सल वर्तमान में डिफ़ॉल्ट है लेकिन यह एक उपयोगी तरीका है यदि आपका ऐप डिफ़ॉल्ट मान सेट पर निर्भर करता है।


3
UITableView.automaticDimensionsस्विफ्ट 4 में नाम बदल दिया गया
बीट

यह केवल तभी काम करता है जब आप चाहते हैं कि सभी डिफ़ॉल्ट ऊंचाई है। यदि आप वास्तव में डिफ़ॉल्ट ऊंचाई के कुछ गुणन चाहते हैं, तो इसके द्वारा दिया गया मान वास्तविक ऊंचाई नहीं है। Apple ने इस मैजिक नंबर (जो -1 होता है) के पीछे की वास्तविक बिंदु ऊंचाई को छिपा दिया है।
PKCLsoft

16

जब style = UITableViewStyleGrouped, ऊपर और नीचे की कोशिकाओं की डिफ़ॉल्ट ऊंचाई वास्तव में है 45.0f(नहीं 44.0f)। और, यदि समूहीकृत तालिका केवल एक पंक्ति है तो सेल ऊंचाई होगी 46.0f


क्या यह विभाजक सहित है?
लहुनाथ

10

यदि आप मक्खी पर यह गणना करना चाहते हैं, तो बस एक डमी टेबल सेल आवंटित करें और इसकी ऊंचाई को पढ़ें

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;

इस तरह से आप iOS के भविष्य के संस्करणों में परिवर्तन से बचाव करते हैं, हालांकि मुझे लगता है कि यह संभावना नहीं है।


यह ऑटोलैयट के साथ समस्याग्रस्त है
मोबाइलमॉन

27
ऑटोलॉयट के साथ सब कुछ समस्याग्रस्त है।
devios1

समस्यात्मक कैसे, बिल्कुल?
एंड्रयूआर

3

"जब शैली = UITableViewStyleGrouped, ऊपर और नीचे की कोशिकाओं की डिफ़ॉल्ट ऊंचाई वास्तव में 45.0f (44.0f नहीं है)। और, यदि समूहीकृत तालिका केवल एक पंक्ति है सेल की ऊंचाई 46.0f होगी।" यह गलत है!! वास्तव में 44.0f! मैं अभी इसका परीक्षण करता हूँ!


2

यह सही लगता है। लेकिन यह सुनिश्चित करने के लिए कि आप इंटरफ़ेस बिल्डर को लोड कर सकते हैं, परियोजना में एक UITableViewCell में डाल सकते हैं, फिर इंस्पेक्टर विंडो में आकार के गुणों की जांच कर सकते हैं। मेरे पास अभी मेरा मैकबुक नहीं है इसलिए मैं जांच नहीं कर सकता। लेकिन अगर आपको किसी से बेहतर जवाब नहीं मिलता है, तो इस तरह से आप अपने लिए जाँच कर सकते हैं।


आह, ठीक है, वह वह जगह है जहां मैं मूल रूप से 44 से मिला।
रॉब

2

में स्विफ्ट 4 और स्विफ्ट 5 बस का उपयोग करें:

UITableView.automaticDimension

44px का उपयोग करना पर्याप्त नहीं होगा क्योंकि यह विभिन्न स्क्रीन पिक्सेल घनत्वों के साथ भिन्न होगा।


0

IOS 12 पर डिवाइस (X, XS, XS Max, XR) जैसे iPhone X की डिफ़ॉल्ट ऊंचाई 49pt है

IOS 12 पर अन्य डिवाइस अभी भी डिफ़ॉल्ट रूप में 44pt हैं । यह एक सूक्ष्म अंतर है, लेकिन प्रत्यक्ष तुलना में यह एक अच्छा सुधार जैसा लगता है।

यदि आप मुझ पर विश्वास नहीं करेंगे, तो इस स्क्रीनशॉट में अपने लिए मापें (3 से विभाजित करना न भूलें) ...;)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.