-2

いくつかのログを .txt ファイルに書き込む必要があります。より明確にするために、一部のテキストに色を付けたいと思います。

どうすればこのトリックを行うことができますか?

ここで私の機能

+(void)writeInLogFile:(NSString *)strLog inFolder:(NSString *)folder fileName:(NSString *)fileName extension:(NSString *)extension
{
[[NSUserDefaults standardUserDefaults] synchronize];
BOOL LogFileOnIpad = [[NSUserDefaults standardUserDefaults] boolForKey:PREF_LOG_FILE_ON_IPAD];

if(LogFileOnIpad)
{
    //Create Directory
    NSString *path;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    path = [[paths objectAtIndex:0] stringByAppendingPathComponent:folder];
    NSError *error;
    if (![[NSFileManager defaultManager] fileExistsAtPath:path])    //Does directory already exists?
    {
        if (![[NSFileManager defaultManager] createDirectoryAtPath:path
                                       withIntermediateDirectories:YES
                                                        attributes:nil
                                                             error:&error])
        {
            NSLog(@"Create directory error: %@", error);
        }
    }

    NSString* filePath = [NSString stringWithFormat:@"%@/%@.%@",path,fileName,extension];

    if(![[NSFileManager defaultManager] fileExistsAtPath:filePath])
        [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];

    NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
    [fileHandle seekToEndOfFile];
    [fileHandle writeData:[strLog dataUsingEncoding:NSUTF8StringEncoding]];
    [fileHandle closeFile];
}
}

これは私が私の機能を使用する方法です:

NSString* str = @"SOME STRING TO WRITE IN LOG FILE";
[HandleString writeInLogFile:str inFolder:LOGS_FOLDER fileName:[NSString stringWithFormat:@"%@_%@",LOGS_IPAD,[HandleString convertDayDateForLog]] extension:@"txt"];

UIColor でラベルを宣言し、そのテキストを関数に渡そうとしましたが、成功しませんでした。

4

3 に答える 3

1

作成しているファイルはプレーン テキスト ファイルであり、書式設定されていないプレーン テキスト ファイルです (太字、斜体、色付きのテキストなど)。一部のテキストに色を付けるには、リッチ テキスト ファイル .rtf を作成する必要があります。私はあなたがそれについてどうするかわかりませんが。

于 2014-12-30T16:25:40.233 に答える
1

以下の例の代わりに、拡張子が .html のファイルを書き込んでみてください。

<p style="color:red" /> Error Message </p>

<p style="color:green" /> Success Message </p>

このファイルを任意のブラウザーで開いて、ログ メッセージを明確に確認できるようにします。

于 2014-12-30T16:31:30.420 に答える