| Home 目次>ApplicationKit>NSLayoutManager このサイトはこちらに移転しました。 | |
textStorage:edited:range:changeInLength:invalidatedRange:
テキストストレージでテキストの一部のためにシンボルとレイアウト情報を無効にする
-(void) textStorage:(NSTextStorage *)aTextStorage
edited:(unsigned)mask
range:(NSRange)range
changeInLength:(int)lengthChange
invalidatedRange:(NSRange)invalidatedCharRange
【返り値】 | |
| void | なし |
| 【パラメータ】 | |
| aTextStorage | テキストストレージ |
| mask | マスク |
| range | 範囲 |
| lengthChange | 変更の長さ |
| invalidatedCharRange | 無効にする範囲 |
【解説】
テキストストレージでテキストの一部のためにシンボルとレイアウト情報を無効にします。
このメッセージはNSTextStrage内の文字や属性が変更された時にNSTextStrageのprocessEditingメソッドによって送信されます。
オプション 意味
●NSTextStorageEditedAttributes 属性が追加、削除、変更
●NSTextStorageEditedCharacters 文字が追加、削除、変更
このメッセージは連続的に送られるためNSLayoutManagerがaTextStorageの指定範囲のテキストストレージの編集をしてはいけません。編集を行ってしまうと引数値が不正な値になります。
【例文】
//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];
}
![]() | |
この記事を評価してください。
| Home 目次>ApplicationKit>NSLayoutManager | 修正日2007.4.12 |