ios - स्वत: लेआउट के साथ ऊंचाई में UITextView की चौड़ाई का निर्धारण करेंफोरराइथइंडएपथ



swift uitableview (0)

एक बढ़िया समस्या, एक सुरुचिपूर्ण समाधान की तलाश में:

एक UITableViewCell उप-वर्ग में बाईं ओर एक UILabel और दाईं ओर एक UITextView लेबल और पाठ दृश्य दोनों में डायनामिक सामग्री है मैं किसी अन्य लेबल के बजाय टेक्स्ट दृश्य का उपयोग कर रहा हूं क्योंकि मुझे पता लिंक मान्यता की आवश्यकता है

लेबल में टेक्स्ट व्यू के मुकाबले एक उच्च संपीड़न प्रतिरोध है, ताकि इसकी दायां किनारे की जरूरत के मुताबिक सही हो जाए (एक निश्चित सीमा तक)। टेक्स्ट व्यू की चौड़ाई को फिर से संकुचित किया जाएगा। पाठ दृश्य नीचे की ओर विस्तार करने के लिए शब्द रैप पर सेट है

क्योंकि एक पाठ दृश्य स्वयं ही एक UIScrollView , एक गतिशील आकार की तालिका दृश्य कोशिकाओं को देखने के सामान्य स्वचालित आयाम तंत्र काम नहीं करेगा (अर्थात UITableViewAutomaticDimension का उपयोग करके)। इस प्रकार, मैंने heightForRowAtIndexPath को लागू करने की कोशिश की heightForRowAtIndexPath आवश्यक ऊँचाई निर्धारित करने के लिए, मैंने सोचा था कि सिर्फ जरूरत है:

  • लेबल में टेक्स्ट , इसके गुण भी
  • पाठ दृश्य में पाठ, उसके विशेषताओं के अलावा
  • तालिका दृश्य की चौड़ाई (जैसा कि "समूहीकृत" के बजाय "सादा" है)

इस जानकारी के साथ, मेरा sizeThatFits कि आवश्यक ऊँचाई निर्धारित करने के लिए मैं सहायक ऑब्जेक्ट्स पर sizeThatFits उपयोग कर सकता हूं।

हालांकि, मैं लेबल और पाठ दृश्य के बीच क्षैतिज मार्जिन को अपने आकार की गणना में कठोर-कोड के लिए अनिच्छुक हूँ, इसलिए सैद्धांतिक तौर पर मुझे इसके अतिरिक्त NSLayoutConstraint आउटलेट की आवश्यकता है

  • इसके पर्यवेक्षण के लिए लेबल का बायां किनारा
  • लेबल की अधिकतम स्वीकृत चौड़ाई
  • लेबल और टेक्स्ट फ़ील्ड के बीच क्षैतिज दूरी
  • पाठ क्षेत्र का सही हाजिर अपने पर्यवेक्षण के लिए

यह वास्तव में पागल लगता है! जब मैं इसके क्रियान्वयन को लिख रहा था, मैंने खुद से पूछा कि क्या ऐसा पूरा करने का कोई आसान तरीका नहीं है? (यही कारण है कि मैंने अभी तक यहां पोस्ट करने के लिए कोड नहीं लिखा है।) आखिरकार, यहां केवल एक मुश्किल समस्या यह है कि पाठ दृश्य के लिए उपलब्ध चौड़ाई कैसे प्राप्त की जा सकती है , लेकिन वहां पहुंचने का तरीका अनावश्यक रूप से जटिल लगता है।

एक संक्षिप्त, सुरुचिपूर्ण समाधान के लिए कोई विचार?

साइड नोट्स: सेल को प्रदर्शित होने के लिए प्रस्तुत करने से पहले इसे गणना करना होगा। इसके अलावा, पाठ दृश्य की scrollingEnabled को सेट करने से false पर सक्षम होने के कारण अजीब परिणाम पैदा करता है sizeThatFits





uitextfield