textStorage:edited:range:changeInLength:invalidatedRange:
テキストストレージでテキストの一部のためにシンボルとレイアウト情報を無効にする
-(void)textStorage:(NSTextStorage *)aTextStorage: edited:(unsigned)mask: range:(NSRange)range: changeInLength:(int)lengthChange: invalidatedRange:(NSRange)invalidatedCharRange:
解説
テキストストレージでテキストの一部のためにシンボルとレイアウト情報を無効にします。
このメッセージはNSTextStrage内の文字や属性が変更された時にNSTextStrageのprocessEditingメソッドによって送信されます。
オプション 意味
●NSTextStorageEditedAttributes 属性が追加、削除、変更
●NSTextStorageEditedCharacters 文字が追加、削除、変更
このメッセージは連続的に送られるためNSLayoutManagerがaTextStorageの指定範囲のテキストストレージの編集をしてはいけません。編集を行ってしまうと引数値が不正な値になります。
返り値
( void )
なし
引数
( NSTextStorage * )aTextStorage
テキストストレージ
( unsigned )mask
マスク
( NSRange )range
範囲
( int )lengthChange
変更の長さ
( NSRange )invalidatedCharRange
無効にする範囲
フレームワーク
ApplicationKit
クラス
NSLayoutManager
Instance Methods
使用可能
10.0
参照
- invalidateLayoutForCharacterRange:isSoft:actualCharacterRange:
例文
//NSTextStrageに変更があった時にNSTextStrageのprocessEditingから呼び出される - (void)textStorage:(NSTextStorage *)str edited:(unsigned)editedMask range:(NSRange)newCharRange changeInLength:(int)delta invalidatedRange:(NSRange)invalidatedCharRange { NSLog(@"textStorage range(%u,%u) , delta %d , invalidatedCharRange(%u,%u)",newCharRange.location,newCharRange.length,delta,invalidatedCharRange.location,invalidatedCharRange.length); switch (editedMask) { case NSTextStorageEditedAttributes: NSLog(@"NSTextStorageEditedAttributes"); break; case NSTextStorageEditedCharacters: NSLog(@"NSTextStorageEditedCharacters"); break; default: NSLog(@"default"); break; } [super textStorage:str edited:editedMask range:newCharRange changeInLength:delta invalidatedRange:invalidatedCharRange]; }