2014-12-30 5 views
-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 и передать ее текст в моей функции, но без успеха.

+0

Не совсем дубликат, но: http://stackoverflow.com/q/8235532/620197 –

ответ

1

Файл, который вы создаете, представляет собой обычный текстовый файл, простой как без форматирования (жирный, курсив, цветной текст и т. Д.). Вам нужно будет написать богатый текстовый файл .rtf для цветного текста. Хотя я понятия не имею, как вы это сделаете.

+0

Да, я знаю ... Я хотел знать, возможно ли это ... – johnnyBeGood

+0

В текстовом файле это невозможно, в богатом текстовом файле это, вероятно, есть. –

1

Попытка записи в файл с расширением .html, а не пример ниже:

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

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

и открыть этот файл в любом браузере, так что вы можете четко видеть ваши сообщения журнала.

+0

Да, я подумал об этом, но в моем случае это невозможно, чтобы показывать журналы в браузере. благодаря – johnnyBeGood

0

При записи в файл просто измените расширение на rtf. После этого вы можете написать цветной текст в файле.