2012-10-20 10 views
5

ठीक है, मैंने कई स्थानों पर खोज की है और हालांकि कुछ लोगों को कथित तौर पर फिक्स मिल गया है, यह मेरे मामले पर लागू नहीं होता है।UItextview लाइन ऊंचाई को अवहेलना करेगा जब NSFontAttributeName

मैं procedurally इस जैसी कुछ UItextviews की लाइन ऊंचाई निर्धारित करने की कोशिश कर रहा हूँ:

UITextView *lab = [LocalTexts objectAtIndex:j]; 

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
    paragraphStyle.lineHeightMultiple = 50.0f; 
    paragraphStyle.maximumLineHeight = 50.0f; 
    paragraphStyle.minimumLineHeight = 50.0f; 

    NSString *string = lab.text; 
    NSDictionary *ats = @{ 
    NSFontAttributeName : [UIFont fontWithName:@"DIN Medium" size:16.0f], 
    NSParagraphStyleAttributeName : paragraphStyle, 
    }; 

    lab.attributedText = [[NSAttributedString alloc] initWithString:string attributes:ats]; 

अजीब बात यह है कि अगर मैं NSFontAttributeName असाइनमेंट, लाइन ऊंचाई होगा काम करते हैं, भी, अगर को निष्क्रिय मैंने अनुच्छेद शैली को एक निश्चित अनुच्छेद ऊंचाई निर्धारित करने के लिए सेट किया है, जो हमेशा भी काम करता है, इसलिए NSParagraphStyleAttribute को पूरी तरह से अनदेखा नहीं किया जा रहा है। मुझे नहीं पता कि यह एक बग है या मैं वास्तव में कुछ गलत कर रहा हूं।

मैंने इसे शुद्ध कोर टेक्स्ट के रूप में कार्यान्वित करने का प्रयास किया, लेकिन यह परियोजना के वर्तमान दायरे के लिए थोड़ा जटिल है।

आशा है कि कोई मुझे सही दिशा में इंगित कर सकता है। धन्यवाद।

उत्तर

1

यह जो UITextView द्वारा किया जाता है HTML करने के लिए अपने को जिम्मेदार ठहराया स्ट्रिंग परिवर्तित करने के लिए NSHTMLWriter में एक ज्ञात बग है: http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-string/

आप इस पाठ को सही ढंग से प्रस्तुत करने के लिए UITextView प्रतिस्थापन हम DTCoreText में उपयोग कर सकते हैं: https://github.com/Cocoanetics/DTCoreText