2011-04-14 17 views
5

KCTParagraphStyleSpecifierParagraphSpacing शैली को लागू करते समय, इसका प्रस्तुत टेक्स्ट पर कोई दृश्य प्रभाव नहीं पड़ता है। लाइन विशेषता और पाठ संरेखण जैसे अन्य गुण पूरी तरह से काम करते हैं। मुझ से ऐसी कौनसी गलती हो जाएगी?NSAttributedString kCTParagraphStyleSpecifierParagraphSpacing का कोई प्रभाव नहीं है

CTTextAlignment theAlignment = kCTRightTextAlignment; 
CGFloat paragraphSpacingFloat = 150.0; 
CGFloat paragraphSpacingBeforeFloat = 150.0; 
CGFloat lineSpacing = CTFontGetLeading(baseFont)*5.0; 

CFIndex theNumberOfSettings = 4; 
CTParagraphStyleSetting theSettings[4] = { 
    { kCTParagraphStyleSpecifierParagraphSpacing, sizeof(CGFloat), &paragraphSpacingFloat }, 
    { kCTParagraphStyleSpecifierParagraphSpacingBefore, sizeof(CGFloat), &paragraphSpacingBeforeFloat }, 
    { kCTParagraphStyleSpecifierAlignment, sizeof(CTTextAlignment), &theAlignment }, 
    { kCTParagraphStyleSpecifierLineSpacing, sizeof(CGFloat), &lineSpacing } 
}; 

CTParagraphStyleRef theParagraphRef = CTParagraphStyleCreate(theSettings, theNumberOfSettings); 
[attr addAttribute:(id)kCTParagraphStyleAttributeName value:(id)theParagraphRef range:r]; 
[attr addAttribute:(id)kCTFontAttributeName value:(id)baseFont range:r]; 
CFRelease(theParagraphRef); 

मैं

CTFrameSetter frameSetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attr); 
CTFrameRef frame = CTFramesetterCreateFrame(frameSetter, CFRangeMake([[attr string] length], 0), the_drawing_cgrect, NULL); 
CTFrameDraw(frame, context); 

उत्तर

4

क्या आप सुनिश्चित हैं कि आपकी स्ट्रिंग में अनुच्छेद विभाजक हैं? kCTParagraphStyleSpecifier पैराग्राफस्पेसिंग नई लाइनों पर काम नहीं करता है। यह वास्तविक \ u2029 की आवश्यकता है।

पैरा विभाजक के साथ सभी नई-पंक्तियों को बदलने के लिए इस कोड का प्रयास करें:

NSArray *paragraphs = [string componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 
NSString *text = [items componentsJoinedByString:@"\u2029"]; 
+0

दिलचस्प! मुझे यकीन है कि यह मुद्दा था, धन्यवाद! तब से मैंने इस समस्या को छुआ नहीं है, क्योंकि मैंने इसे एक अलग तरीके से हल किया है। –

+0

@blago - आपने इसे कैसे हल किया? –

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