0
我想用筆畫畫一段文字。因此,做一些搜索和試驗似乎是做到這一點的方法是將UIView子類化並在drawRect中用筆劃繪製文本。圖紙代碼如下。如何判斷UITextView文本是否包裝?
我使用它設置的方式,我使用UITextView輸入交互式文本,然後將文本傳遞到用筆畫繪製的UIView子類廣告。
這似乎是完美的工作。唯一的問題是按下返回鍵(創建一個新行),或者換行因爲它對於UITextView而言變得太寬,這些信息不會被傳遞,所以我的renderd(描邊)文本中沒有新行在UIView子類中。
任何幫助?
繪圖代碼(注意,theText是傳遞的UITextView的文本屬性):
UIFont *font = [UIFont fontWithName:@"Arial" size:fontSize];
CGPoint point = CGPointMake(0,0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth(context, 4.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);
[theText drawAtPoint:point withFont:font];
CGContextRestoreGState(context);
謝謝大衛。這是說當返回鍵被按下時(\ n)沒有隱藏的代碼,當文本被包裝時也是如此。因爲如果有的話,我想這只是一個閱讀這些角色並傳遞給他人的問題。 – Mrwolfy
返回鍵幾乎可以肯定 - 它是一個字符,告訴textView去下一行。它的另一個對你來說最成問題的包裝 - 超越,縮短了一個單詞變短的地方,使視圖迴繞一行。我敢說你最好寫自己的UITextView,而不是去猜測它的做法。你確定你使用的字體在Unicode空間中沒有刪除字符嗎?你可能能夠找到或購買一個這樣的字體,然後你就可以更容易 - 只需要替換字符。 –