मेरे iphone ऐप में कुछ (समूहीकृत शैली) टेबल हैं (केवल स्क्रीन के हिस्से पर और इसके साथ जोड़ा गया Interface Builder
है, लेकिन इससे उप-वर्ग नहीं है UITableViewController
), जो कि 80% समय छोटा है और स्क्रीन पर फिट होगा। जब तालिका स्क्रीन पर फिट होती है, तो मैं स्क्रॉल करना अक्षम करना चाहता हूं, इसे थोड़ा क्लीनर बनाने के लिए। लेकिन अगर तालिका स्क्रीन से दूर हो जाती है (जब पंक्तियों को बाद में इसमें जोड़ा जाता है), तो मैं फिर से स्क्रॉल करने में सक्षम करना चाहूंगा (क्योंकि अन्यथा आप इस सामग्री को देख सकते हैं।)
क्या इसे करने का कोई तरीका है? मैं यह पता लगाने के लिए प्रतीत नहीं कर सकते। मुझे पता है:
tableView.scrollEnabled = NO;
लेकिन मुझे यकीन नहीं है कि जहां, या अगर मुझे यह काम करने के लिए टेबल ऑब्जेक्ट आकार या कुछ की गणना करना है।
अद्यतन : यहाँ समाधान है कि अंत में मेरे लिए काम किया है:
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
मैं reloadData
टेबल पर कॉल करने के बाद इस कोड को चलाता हूं , और यह सही आकार की गणना करता है और काम करता है।
table.frame.size.height
Interface Builder
स्क्रीन पर प्रदर्शित वस्तु का वास्तविक आकार (आप इसे देख सकते हैं ) है, जबकि table.contentSize.height
ऊँचाई है: शीर्ष लेख, पाद लेख, और प्रत्येक कक्ष की ऊँचाई को एक साथ जोड़ा गया है।