2012-10-14 13 views
9

के नीचे एक UIButton एंकर करें मेरे पास निम्न आवश्यकता है। जब UITableViewController का दृश्य प्रदर्शित होता है, तो पंक्तियों की एक चर संख्या होती है। पंक्तियों के नीचे, एक बटन प्रदर्शित किया जाना चाहिए।UITableViewController के दृश्य

जब पंक्तियों की संख्या छोटी है, तो बटन को दृश्य के नीचे लंगर दिया जाना चाहिए।

जब पंक्तियों की संख्या बड़ी होती है, तो हटाएं बटन को अंतिम पंक्ति के तुरंत बाद रखा जाना चाहिए।

दूसरे शब्दों में:

enter image description here

और न:

enter image description here

इस अब तक एक tableFooterView की स्थापना और इसकी ऊंचाई contentSize का उपयोग कर अद्यतन करने के लिए कोशिश कर रहा शामिल है पर मेरे सबसे अच्छे प्रयास UITableView का, लेकिन मैं सभी प्रकार की समस्याओं में भाग रहा हूं। मैं इस पथ को जारी रख सकता हूं और कुछ मदद मांग सकता हूं, लेकिन पहले मैं जानना चाहता हूं कि किसी के पास वैकल्पिक (बेहतर) समाधान हैं या नहीं।

परिणाम डबल आकार के स्टेटस बार (उदाहरण के लिए कॉल के दौरान) के साथ अच्छी तरह से खेलना चाहिए और मैं आईओएस 6.0 को लक्षित कर रहा हूं। मैं इंटरफेस बिल्डर का उपयोग नहीं कर रहा हूँ।

+1

+1 :) – David

+0

भयानक ग्राफिक्स, आदमी। आपके लिए एक अपवित्र! – katzenhut

+0

अरे @ बेन मैंने एक समान समस्या के लिए कहा। आप stackoverflow.com/questions/21692880/uiscrollview-with-sticky-footer-uiview-and-dynamic-height-content को देखना चाहेंगे। आपने इसे कैसे हल किया? – Gaston

उत्तर

0

स्क्रॉल व्यू के अंदर तालिका दृश्य और बटन दोनों रखें। स्क्रॉलव्यू के नीचे बटन रखें। काम करने के लिए उचित स्क्रॉलिंग के लिए आप स्क्रॉल दृश्यों की scrollEnabled संपत्ति सेट करना चाहेंगे। कि अधिक जानकारी के लिए इस जाँच

Scrolling a UITableView inside a UIScrollView

संपादित करें:

yourView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin; प्राप्त करने के लिए इस आशय दो अलग अलग समाधान का उपयोग करना पड़ सकता है UIView autoresizingMask - Interface Builder to Code - Programmatically create struts and springs - Swift or Objective-C

+0

लेकिन स्क्रॉलिंग की आवश्यकता नहीं होने पर स्क्रीन के निचले हिस्से में आप बटन को कैसे बनाए रखेंगे? –

+0

आकार निरीक्षक में scrollView के नीचे से जुड़े बटन को रखकर। यहां तक ​​कि जब आपके uitableviewcell का आकार स्क्रॉलव्यू का न्यूनतम आकार बदलता है तब भी वही रहता है। – Rakesh

+0

मुझे इस सवाल में उल्लेख किया जाना चाहिए कि मैं इंटरफ़ेस बिल्डर का उपयोग नहीं कर रहा हूं (मैं इसे अभी अपडेट कर दूंगा)। क्या आप एपीआई को समझा सकते हैं कि आईबी 'स्क्रॉल व्यू के नीचे से जुड़े बटन को रखने' के लिए उपयोग करता है, इसलिए मैं इसे कोड में दोहराने का प्रयास कर सकता हूं? –

1

एक संभव समाधान:

implimenting struts और स्प्रिंग्स कोड का उपयोग कर के बारे में अधिक जानकारी के लिए इस प्रश्न के लिए स्वीकार किए जाते हैं जवाब की जाँच करें।

  1. यदि पंक्तियों की मात्रा का मतलब है कि बटन स्क्रीन से बाहर हो जाएगा तो पाद लेख देखें जैसे आप कर रहे हैं।

  2. पंक्तियों की राशि का मतलब है, तो उस बटन स्क्रीन बंद नहीं होगा तो

    1. tableView के लिए बटन जोड़ें
    2. लागू - (void)scrollViewDidScroll:(UIScrollView *)scrollView और बटन के फ्रेम को अद्यतन नीचे से भरपाई हो करने के लिए ।

नीचे से ऑफसेट इस

  1. yOffset = CGRectGetHeight (tableView.frame) जैसे कुछ तर्क का पालन हो सकता है - (CGRectGetHeight (बटन।फ्रेम) + somePadding)
  2. yOffset + = tableView.contentOffset.y

इसका मतलब यह होगा कि बटन अभी भी स्क्रॉल के साथ ऊपर ले जाता है और नीचे, लेकिन आप footerView ऊंचाई के साथ गड़बड़ की जरूरत नहीं है

फोटो के लिए
संबंधित मुद्दे