macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

boundingRectForGlyphRange:inTextContainer:

グリフの範囲の矩形を返します
-(NSRect)boundingRectForGlyphRange:(NSRange)glyphRange:
          inTextContainer:(NSTextContainer *)aTextContainer:

解説

グリフの範囲の矩形を返します。
テキストコンテナで指定されたコンテナ内の範囲(glyphRange)で指定された範囲に秒合されるグリフやマークを含む1つの矩形を返します。再描画が必要な時に使います。
必要な場合にグリフの生成、レイアウトが行われます。

返り値

( NSRect )

範囲

引数

( NSRange )glyphRange

範囲

( NSTextContainer * )aTextContainer

テキストコンテナ

フレームワーク

ApplicationKit

クラス

NSLayoutManager

Instance Methods

使用可能

10.0

参照

- showsInvisibleCharacters
- setShowsControlCharacters:

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
//myOutletはTextView
NSLayoutManager *layM1;
NSRange range;
NSRect rect;
unsigned rec;
NSTextContainer *textContainer1 = [[NSTextContainer allocWithZone:NULL] initWithContainerSize:NSMakeSize(1.0e6, 1.0e6)];
NSTextContainer *textContainer2 = [[NSTextContainer allocWithZone:NULL] initWithContainerSize:NSMakeSize(1.0e6, 1.0e6)];

layM1 = [myOutlet1 layoutManager];
[myOutlet1 insertText:@"this is a pen."];

[layM1 addTextContainer:textContainer1];
[layM1 insertTextContainer:textContainer2 atIndex:1];


rect = [layM1 boundingRectForGlyphRange:NSMakeRange(1,3)
                    inTextContainer:textContainer1
                    ];

NSLog([NSString stringWithFormat:@"%u,%u",rect.size.width,rect.size.height]);
}

@end