Как сохранить и отправить NSMutableAttributedString (получено с помощью coreText) на сервер? - PullRequest
0 голосов
/ 18 января 2011
Hi all,

Я пытаюсь выделить выделенный текст UITextView. Для этого я использую подход coreText. В этом я могу выделить выделенный текст и отобразить его в контексте, используя NSMutableAtrributedString.

-(void)drawRect:(CGRect)rect
{

 NSLog(@"return str.....%@",[PISTrialViewController returnString]);
 NSMutableAttributedString *string = [[NSMutableAttributedString alloc]
           initWithString:[PISTrialViewController returnString]];
 NSLog(@"attrrrr.....%@",string);
 tempRange=[PISTrialViewController returnRange];
 // make a few words bold
 CTFontRef helvetica = CTFontCreateWithName(CFSTR("Helvetica"), 14.0, NULL);
 CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica-Bold"), 14.0, NULL);


 NSLog(@"location.....%d",tempRange.location);
 NSLog(@"length.....%d",tempRange.length);
 [string addAttribute:(id)kCTFontAttributeName
       value:(id)helveticaBold
       range:NSMakeRange(tempRange.location,tempRange.length)];

  // layout master
 CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(
                     (CFAttributedStringRef)string);

 // left column form
 CGMutablePathRef leftColumnPath = CGPathCreateMutable();
 CGPathAddRect(leftColumnPath, NULL, 
      CGRectMake(0, 0, 
        self.bounds.size.width,
        self.bounds.size.height));

 // left column frame
 CTFrameRef leftFrame = CTFramesetterCreateFrame(framesetter, 
             CFRangeMake(0, 0),
             leftColumnPath, NULL);


  context = UIGraphicsGetCurrentContext();
 CGContextSetTextMatrix(context, CGAffineTransformIdentity);
 CGContextTranslateCTM(context, 0, self.bounds.size.height);
 CGContextScaleCTM(context, 1.0, -1.0);
 CGContextSetRGBStrokeColor(context, 1.0, 0, 0, 1.0);


 // draw
 CTFrameDraw(leftFrame, context);

 // cleanup
 CFRelease(leftFrame);
 CGPathRelease(leftColumnPath);

 CFRelease(framesetter);
 CFRelease(helvetica);
 CFRelease(helveticaBold);
 [string release];
} 

Я выбрал некоторый текст из UITextView и отправил этот текст в подкласс UIView, где я написал этот метод (drawRect). Контекст, нарисованный в uiview, отображает выделенный текст как жирный. Но теперь я не могу выделить текст дальше .Как я могу это сделать?

Как сохранить / извлечь NSMutableAtrributedString в / из базы данных sqlite?

Как я могу отправить его на сервер? (В каком формате?)

1 Ответ

0 голосов
/ 08 марта 2011

NSMutableAtrributedString реализует протокол NSCoding, поэтому вы можете использовать NSKeyedArchiver для их сериализации.

...