2
m_LayoutManager = [[NSLayoutManager alloc] init];
m_TextContainer = [[NSTextContainer alloc] init];
m_TextStorage = [[NSTextStorage alloc] initWithString: @"Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes, the ones who see things differently."];
[m_LayoutManager addTextContainer: m_TextContainer];
[m_TextStorage addLayoutManager: m_LayoutManager];
[m_TextContainer release];
[m_LayoutManager release];
[m_TextStorage replaceCharactersInRange:NSMakeRange(0, [m_TextStorage length]) withString: XMajor];
[m_TextContainer setContainerSize: NSMakeSize(75,50)];
NSRange glyphRange = [m_LayoutManager glyphRangeForTextContainer: m_TextContainer];
NSRect usedRect = [m_LayoutManager usedRectForTextContainer: m_TextContainer];
[[NSColor brownColor] setFill];
//NSRectFill(NSMakeRect(j - usedRect.size.width/2,y0 - 50 - 5,50,50));
[m_LayoutManager drawGlyphsForGlyphRange:glyphRange
atPoint: NSMakePoint(j - usedRect.size.width/2,y0 - 50 - 5)];
私が見ているのは、長方形の底から始まり上に上がるテキストです。NSLayoutManagerテキスト新しい行が矩形の一番下から始まり、上に行くようです。
ferently. the ones who see things dif nd pegs in the square holes, the troublemakers, the rou the misfits, the rebels, Here's to the crazy ones,
は、私は、テキストが上から開始し、下に行きたいと私も今、それは上の単語の途中を開始します、ワードラップにテキストをしたい:私はビューでそれを描くときには、このようになります新しい行。 NSLayoutManager
、NSParagraphStyle
、NSTypeSetter
について読んでいますが、この問題を解決する方法がわかりません。
尻に痛みがあり、チャートのコード全体をその修正で書き直す必要がありましたが、機能しました!ありがとう。私は決してそれを考えなかったでしょう。 – user805547
私は 'NSView'なしで(CGContextRef'と' -graphicsContextWithGraphicsPort:flipped: ')これを行いました。この場合は、反転させてYESにしてから、それを再び反転させて 'NSAffineTransform'を使用します。 –