/ / अतिरिक्त स्थान के साथ UITableViewController स्क्रॉल (नोट्स एप्लिकेशन की तरह) - आईओएस, उद्देश्य-सी, uitableview, उपयोगकर्ता इंटरफ़ेस, स्क्रॉल

अतिरिक्त स्थान (जैसे नोट्स एप्लिकेशन) के साथ UITableViewController स्क्रॉल - आईओएस, उद्देश्य-सी, uitableview, उपयोगकर्ता इंटरफ़ेस, स्क्रॉल

नोट्स ऐप में मिले इस व्यवहार को मैं दोहराना कैसे करूं:

  1. तुम्हारे पास एक UITableViewController वस्तुओं के साथ,
  2. आप सूची को नीचे स्क्रॉल कर सकते हैं (बहुत सारी वस्तुओं के साथ),
  3. जब आप सूची के नीचे हिट करते हैं, तो आप कर सकते हैंथोड़ी सी "overscroll", लेकिन सूची वापस सभी तरह से स्क्रॉल नहीं होगा। अंतिम आइटम के नीचे कुछ जगह छोड़ी जाएगी। इस स्थान का उपयोग कुछ लेआउट छवि को प्रदर्शित करने के लिए नोट्स में किया जाता है।

तस्वीरों के साथ प्रदर्शन करने के लिए: फोटो 1

यह एक "अनसुलझा" सूची है। इस तरह के उपयोग करने के लिए आसान है UITableViewController। और जब आप सूची को "खींचें", डिफ़ॉल्ट UITableViewController बस इस राज्य में वापस उछाल।

हालांकि, नोट्स यह अनुमति देता है: फोटो 2

जैसे। थोड़ी सी जगह छोड़ने के लिए स्क्रॉल करने के बाद, इसे वापस रास्ते में उछाल न दें।

आप इस तरह के व्यवहार को दोहराने कैसे करते हैं?

उत्तर:

उत्तर № 1 के लिए 10

आप अपनी तालिका के सामग्री इन्सेट्स को बदल सकते हैं इस तरह देखें:

[_tableView setContentInset:UIEdgeInsetsMake(0, 0, 100, 0)];

यहां आप स्क्रॉल करते समय अपनी तालिका के नीचे एक 100 पिक्सेल इन्सेट के साथ समाप्त हो जाएंगे।


जवाब के लिए 4 № 2

यहां करने का एक आसान तरीका है।

बस (शायद आपके ViewDidLoad में) UITableView में एक टेबल फ़ूटर के रूप में एक खाली UIView जोड़ें।

कुछ इस तरह:

UIView *footer = [[UIView alloc] init];
footer.frame = CGRectMake(0, 0, 0, 100); // The only one that matters here is the height
self.tableView.tableFooterView = footer; // tableView is an outlet to the tableView

जवाब के लिए 4 № 3

स्विफ्ट:

मुझे लगता है कि स्विफ्ट में ऐसा करने का तरीका इस तरह है।

tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0)

मुझे पता है कि यह एक पुराना सवाल है लेकिन इससे किसी को फायदा हो सकता है।


जवाब के लिए 3 № 4

स्विफ्ट:

    var footer:UIView = UIView(frame: CGRectMake(0, 0, 0, 44))
tableView.tableFooterView = footer

उत्तर के लिए 1 № 5

Kirualex प्रतिक्रिया अद्यतन कर रहा है:

आदर्श प्लेसमेंट: UITableViewController viewDidLoad

स्विफ्ट 3:

// Add 50 extra pixels at bottom of the list when scrolling
self.tableView.contentInset = UIEdgeInsets(top:0, left: 0, bottom: 50, right: 0)