Sto provando a capire come prendere un NSAttributedString e usarlo in Core Text sull'iPad. Ho guardato uno dei video WWDC (110), che ha scivoli (ma non il codice sorgente) e descrive come creare un NSAttributedString, poi basta metterla in un CTFramesetterRef:Posso utilizzare NSAttributedString in Core Text in iOS?
CTFontRef helveticaBold = CTFontCreateWithName(CFSTR("Helvetica-Bold"), 24.0, NULL);
NSString* unicodeString = NSLocalizedString(@"TitleString", @"Window Title");
CGColorRef color = [UIColor blueColor].CGColor; NSNumber* underline = [NSNumber numberWithInt:kCTUnderlineStyleSingle|kCTUnderlinePatternDot];
NSDictionary* attributesDict = [NSDictionary dictionaryWithObjectsAndKeys:helveticaBold, (NSString*)kCTFontAttributeName, color, (NSString*)kCTForegroundColorAttributeName, underline, (NSString*)kCTUnderlineStyleAttributeName, nil];
NSAttributedString* stringToDraw = [[NSAttributedString alloc] initWithString:unicodeString attributes:attributesDict];
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(stringToDraw);
CTFrameRef frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, NULL);
CFRelease(framesetter);
CTFrameDraw(frame, context);
CFRelease(frame);
Ma quando provo questo, genera l'errore:
Passing argument 1 of 'CTFramesetterCreateWithAttributedString' from incompatible pointer type
Sono CFAttributedString e NSAttributedString 'numero verde a ponte'? Ho letto da qualche parte che questo è vero solo su OSX, ma è così che Apple lo fa nella loro demo ...
Grazie!
: -Joe
sono stati in grado di ottenere la sottolineatura tratteggiata di presentarsi? Ricevo solo la semplice sottolineatura sotto il testo. – learner2010