ios - कस्टम UITableViewCell में ऑटोलेयूट को अनदेखा किया गया है




swift (2)

सभी तत्वों के लिए अड़चनें होने के बावजूद, सेल के लिए इसकी ऊंचाई की गणना करने के लिए आवश्यक ऊर्ध्वाधर सहित, ऑटो-लेआउट को नजरअंदाज किया जाता है: सभी कोशिकाओं को निचोड़ा जाता है।

यहाँ स्टोरीबोर्ड में परिणाम और बाधाओं का एक स्क्रीनशॉट है।

कुलपति में, जो तालिका दृश्य रखता है, यहाँ दृश्य कोड में कोड है :

tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension

दूसरी पंक्ति में टिप्पणी करने से 120.0 की ऊँचाई वाली कोशिकाएँ प्राप्त होती हैं, लेकिन ऑटोलेयूट को भी नजरअंदाज कर दिया जाता है।

धन्यवाद

अद्यतन करें

इंटरफ़ेस को सरल बनाने के लिए, मैंने एक एकल लेबल छोड़ा है, जैसे कि बाधा:

  • पर्यवेक्षण करने के लिए अग्रणी स्थान
  • पर्यवेक्षण के लिए शीर्ष स्थान
  • निश्चित चौड़ाई और ऊंचाई (100 और 100)
  • यह सुनिश्चित करने के लिए कंटेनर मार्जिन के नीचे की जगह कि सेल में अपनी ऊंचाई निर्धारित करने के लिए सभी ऊर्ध्वाधर अवरोध हैं

और इस सरलीकृत इंटरफ़ेस के साथ, ऑटो-लेआउट को अभी भी ध्यान में नहीं रखा गया है, जो मुझे संकेत देता है कि समस्या बुरी तरह से निर्धारित बाधाओं से नहीं आई थी।

आकार निरीक्षक में, पंक्ति की ऊंचाई 120 पर सेट की गई है और कस्टम की जाँच की गई है। सेल में सही कस्टम क्लास है, सेल का पुनः उपयोग पहचानकर्ता सही है।

अद्यतन: समाधान मिला

यह एक साधारण गलती थी, नीचे मेरा जवाब देखें।


ऑटो-लेआउट को नजरअंदाज कर दिया गया क्योंकि प्रोटोटाइप सेल और सेल के UIView को आईबी में कस्टम सेल क्लास दी गई थी।

UIView को वापस UIView वर्ग में सेट करने से समस्या हल हो गई।


मुझे लगता है कि समस्या यह है कि आप इसे लागू कर रहे हैं:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: 
IndexPath) -> CGFloat {

 return x
}

आपको कोशिकाओं के लिए इसकी स्वचालित ऊंचाई की गणना करने के लिए तालिका के लिए इस फ़ंक्शन इन्वर्टर को निकालने की आवश्यकता है।





uitableview