আমার আইফোন অ্যাপে কয়েকটি (গোষ্ঠীযুক্ত শৈলী) টেবিল রয়েছে (কেবলমাত্র পর্দার অংশে এবং 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
এর উচ্চতা: শিরোনাম, পাদচরণ এবং প্রতিটি ঘরের উচ্চতা এক সাথে যুক্ত করা হয়।