फिट करने के लिए दिए गए फ़ॉन्ट के साथ स्ट्रिंग लम्बाई मुझे टेक्स्ट को स्थानांतरित करने की आवश्यकता है जिसे उपयोगकर्ता ने एक बड़ी बहु-पंक्ति UITextView
में एक छोटी (लेकिन अभी भी बहु-पंक्ति) UITextView
* में प्रवेश किया है। यदि उपयोगकर्ता छोटे दृश्य में प्रदर्शित होने से अधिक टेक्स्ट दर्ज कर चुका है, तो मैं टेक्स्ट को छोटा करना चाहता हूं ताकि यह सभी (छिड़काव) टेक्स्ट दिखाई दे। (न तो बड़े UITextView
और न ही छोटे को स्क्रॉल करना चाहिए।)UITextView
ऐसा करने का सबसे अच्छा तरीका क्या है?
मैं एक पाश का उपयोग कर सकते, एक चरित्र हर बार से स्ट्रिंग को छोटा करने, और उसके बाद का उपयोग NSString
के sizeWithFont: constrainedToSize: lineBreakMode:
ऊंचाई इस छोटे स्ट्रिंग की आवश्यकता होगी पता लगाने के लिए, और फिर तुलना कि ऊंचाई के खिलाफ मैं अपने छोटे में उपलब्ध है UITextView
, स्ट्रिंग फिट होने पर लूप को समाप्त कर देगा - लेकिन यह धीमा और अजीब लगता है। इसके लिए अवश्य ही एक बेहतर तरीका होना चाहिए। '
मैं बस अपने प्रदर्शन को छोटा करने के लिए गंतव्य UITextView
गंतव्य को बताना चाहता हूं क्योंकि यह स्क्रीन पर प्रदर्शित होता है, लेकिन मैं ऐसा करने का कोई तरीका नहीं ढूंढ पा रहा हूं।
* इस पर अधिक संदर्भ, एक टिप्पणी से मैं नीचे बनाया:
मैं एक परिदृश्य एप्लिकेशन मिल गया है। मैं उपयोगकर्ता द्वारा चुने गए फोटो के आधार पर दृश्य का लेआउट बदलता हूं। यदि यह एक लैंडस्केप फोटो है, तो कैप्शन छोटा है - तस्वीर के नीचे बस एक रेखा है। अगर वह एक पोर्ट्रेट फोटो चुनती है, तो वहां बहुत सारी जगह है जिसका उपयोग मैं फोटो के किनारे कैप्शन के लिए कर सकता हूं, इसलिए कैप्शन बड़ा है।
यदि उपयोगकर्ता चित्र से परिदृश्य तक अपने फोटो अभिविन्यास को बदलता है, तो मैं पाठ को छोटा करना चाहता हूं और फिर उसे संपादित करने की अनुमति देता हूं ताकि यह समझ में आ सके। मैं बस इसे ज़ैप कर सकता था, लेकिन मैं उसे टाइपिंग को कम करने के लिए इसे संरक्षित करना पसंद करूंगा।
यह कोड शानदार है, धन्यवाद, लेकिन मुझे दो स्थितियां मिली हैं जिनमें यह विफल रहता है: 1) यदि आपके पास स्ट्रिंग 2 पर बहुत सी जगहें हैं) "<" लाइन में "if (stringSize.height
SpaceDog