2013-09-27 46 views
2

我正在嘗試創建一個具有動態可調節行間距的UITextView。對於iOS 6,我使用styleString調整間距,但是因爲該解決方案並不適用於iOS 7的工作,我設置的layoutManager委託並使用在UITextView iOS 7上減少行距

- (CGFloat)layoutManager:(NSLayoutManager *)layoutManager lineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndex withProposedLineFragmentRect:(CGRect)rect 
    return textView.lineHeight; 
} 

這對於增加行距的偉大工程,但不允許我來減少間距不是像默認間距下:

What I'm trying to achieve

有沒有辦法用的layoutManager或任何其他解決方案降低對iOS的7行間距?

+0

你有解決方案嗎? –

+0

我一直在尋找,但沒有到目前爲止。 – Efesus

回答

0

還有一個問題可以幫助你。請檢查這個link

你用過AttributedString嗎?

+0

我沒有嘗試AttributedString。 NSMutableParagraphStyle * paragraphStyle = [NSMutableParagraphStyle defaultParagraphStyle]; paragraphStyle.lineSpacing = textView.lineSpacing;將它添加到AttributedString,並設置textView的屬性字符串,但它什麼也沒做 – Efesus

+0

Efesus,上面的代碼不起作用,因爲「defaultParagraphStyle」返回NSParagraphStyle,而不是可變版本。所以你需要做[[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy]。 然後,您可以將lineSpacing屬性設置爲絕對值,或者只需執行paragraphStyle.lineSpacing + = 5即可將默認間距增加5個點。 –