2013-02-12 13 views
5

में टेक्स्ट का भौतिक स्थान प्राप्त करें मुझे पता है कि sizeWithFont का उपयोग करके टेक्स्ट का आकार कैसे प्राप्त करें, लेकिन मैं वास्तव में क्या करना चाहता हूं, UILabel में खींचे गए पाठ का वास्तविक उच्चतम बिंदु और निम्नतम बिंदु ढूंढें।UILabel

मुझे इसके अंदर UILabel के साथ एक कृत्रिम कर्सर जोड़ने की आवश्यकता है। समस्या यह है कि UILabel में पाठ मनमाने ढंग से इसके शीर्ष और निचले मार्जिन को बदलता प्रतीत होता है। मैं काम नहीं कर सकता कि ओएस कैसे काम करता है UILabel में टेक्स्ट को कहां रखा जाए।

तो एक श्रेणी या विधि बनाने में सक्षम होना कितना अच्छा होगा जो दृश्य पर खींचे गए वास्तविक पाठ की वाई अक्ष पिक्सेल उत्पत्ति को काम करता है।

क्या यह संभव है? UITextField स्थिति टेक्स्ट और कर्सर पूरी तरह से कैसे करता है?

अद्यतन

मैं सोच रहा था इस UILabel संदर्भ हो रही द्वारा संभव हो सकता है और शीर्ष पर खाली स्थान के पाता है हो सकता है, जो मुझे वास्तविक पाठ के अधिकार के वाई पिक्सेल मूल देना चाहिए? मुझे नहीं पता कि यह कहां से शुरू करना है, या फिर इसे कुशल बनाने के लिए पर्याप्त है ताकि UILabel में लगातार परिवर्तनों को बाधित न किया जा सके।

बहुत धन्यवाद।

+0

क्या '[UITextField textRectForBounds:] 'आपको वह नहीं देता है जो आप चाहते हैं? – trojanfoe

+0

फ़ॉन्ट आकार घटने पर ऑटो बदलना प्रतीत नहीं होता है (ऑटो को कम करें UILabel) –

उत्तर

0

क्या आपको UILabel का उपयोग करने की आवश्यकता है या आप एक अक्षम UITextView का उपयोग कर सकते हैं?

एक पाठ के लिए आप की तरह

CGRect rect = [textView.layoutManager usedRectForTextContainer:textView.textContainer]; 

यह आप क्या चाहते हैं आप देना चाहिए कुछ कर सकते हैं देख सकते हैं। अगर स्मृति उस आयत की सेवा करती है जो यह लौटाती है तो पाठ दृश्य के सापेक्ष होगी।

उम्मीद है कि यह मदद करता है :)

 संबंधित मुद्दे