आईओएस में टेबल व्यू सेल की ऊंचाई को गतिशील रूप से बदलने के लिए, यानी उपलब्ध सामग्री के अनुसार सेल का आकार बदलना, हमें स्वचालित आयाम संपत्ति का उपयोग करने की आवश्यकता होगी। हम इसे एक नमूना प्रोजेक्ट की मदद से देखेंगे।
एक खाली प्रोजेक्ट बनाएं और इसके व्यू कंट्रोलर क्लास में जाएं, इसे UITableViewDataSource और UITableViewDelegate के अनुरूप बनाएं।
अब, नीचे दिए गए कोड में, हम पहले एक टेबल बनाएंगे, फिर उस टेबल के लिए एक सेल रजिस्टर करेंगे, और कुछ टेबल प्रॉपर्टीज जोड़ेंगे।
हम टेबल व्यू डेलिगेट और टेबल व्यू डेटासोर्स सेट करेंगे।
अंत में हम देखने के लिए तालिका दृश्य जोड़ेंगे। फिर हम इस फ़ंक्शन को हमारे व्यू कंट्रोलर के viewDidLoad मेथड के अंदर कॉल करेंगे।
नोट: हमने अनुमानित रोहाइट नामक एक संपत्ति निर्धारित की है
func initTableView() {
let tableView = UITableView()
tableView.frame = self.view.frame
tableView.dataSource = self
tableView.delegate = self
tableView.backgroundColor = colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.estimatedRowHeight = UITableView.automaticDimension
self.view.addSubview(tableView)
} अब, यह कोड हमारे विचार में एक तालिका जोड़ देगा, हमें तालिका को यह भी बताना होगा कि हम अपने कोड में कितने अनुभाग और पंक्तियाँ चाहते हैं।
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
} यह कोड हमारे टेबल व्यू में दूसरी पंक्ति में टेक्स्ट की कुछ बड़ी लाइन बनाएगा ताकि इसे कंटेंट साइज के अनुसार ऊंचाई मिले।
नोट: UITableViewCell में डिफ़ॉल्ट रूप से एक लेबल गुण होता है, और एक लेबल में डिफ़ॉल्ट रूप से लंबाई की 1 पंक्ति होती है, इसलिए हमें स्वचालित आयाम कार्य देखने के लिए इसे बदलने की आवश्यकता है।
अब हमें टेबल को बताना होगा कि उसके सेल की ऊंचाई कितनी होनी चाहिए।
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
जब हम उपरोक्त कोड चलाते हैं तो हमें निम्नलिखित परिणाम मिलते हैं।
