2016-02-29 7 views
7

से एक पंक्ति टेक्स्ट ऊंचाई की गणना कैसे करें मैं एक ऐसे मुद्दे में भाग गया जहां मुझे टेक्स्ट फ़ील्ड की टेक्स्ट ऊंचाई की समान दूरी के लेबल को लेबल करने के लिए एनिमेट करने की आवश्यकता थी। ज्यादातर मामलों में बस textField.bounds.heigt लेकिन यदि पाठ फ़ील्ड की ऊंचाई टेक्स्ट ऊंचाई से बड़ी है तो यह मेरे लिए कोई अच्छा नहीं होगा। तो मुझे यह जानने की जरूरत है: स्ट्रिंग टेक्स्ट की लाइन ऊंचाई की गणना UIFont से कैसे करें?स्विफ्ट अपने फ़ॉन्ट

डुप्लिकेट के बारे में: मुझे जो चाहिए वह थोड़ा अलग है। वह उत्तर (जिसे मैंने अपने उत्तर में संदर्भित किया है) 1) स्ट्रिंग 2) चौड़ाई 3) फ़ॉन्ट के आधार पर कुल ऊंचाई प्राप्त करें। मुझे जो चाहिए वह एक पंक्ति ऊंचाई केवल फ़ॉन्ट पर निर्भर करता है।

+1

की [स्विफ्ट में स्ट्रिंग के आधार पर UILabel का पता लगाएं आकार] (http संभावित डुप्लिकेट है जैसे है। कॉम/प्रश्न/30450434/आकृति-आउट-ऑफ-यूलाबेल-आधारित-ऑन-स्ट्रिंग-इन-स्विफ्ट) – TylerH

+0

यह मेरी आवश्यकता के अनुसार थोड़ा अलग है। वह उत्तर (जिसे मैंने अपने उत्तर में संदर्भित किया है) 1) स्ट्रिंग 2) चौड़ाई 3) फ़ॉन्ट के आधार पर कुल ऊंचाई प्राप्त करें। मुझे जो चाहिए वह ** एक पंक्ति ऊंचाई केवल फ़ॉन्ट पर डिपिंग ** – Ismail

उत्तर

6

UIFont एक propperty lineHeight ख़ाली इस

 if let font = _textView.font { 
     let height = font.lineHeight 
    } 

जहां फॉन्ट यह अपने फ़ॉन्ट

3

मैं ऐसा करने के लिए एक रास्ता खोज रहा हूं और यह answer ढूंढ रहा हूं जहां स्ट्रिंग और दिए गए फ़ॉन्ट के आकार की गणना करने के लिए String एक्सटेंशन है।

extension UIFont { 

    var height:CGFloat { 
    let constraintRect = CGSize(width: CGFloat.max, height: CGFloat.max) 

    let boundingBox = "Anytext".boundingRectWithSize(constraintRect, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName: self], context: nil) 

    return boundingBox.height 
    } 
} 

मुझे आशा है कि यह किसी को यह की तलाश में मदद करता है: मैं इसे संशोधित किया है कि मैं क्या करना चाहते हैं (। एक फ़ॉन्ट का उपयोग करके लिखा लाइन पाठ की ऊंचाई प्राप्त)। (भविष्य में में स्वयं हो सकता है)। // stackoverflow:

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