#import "LinkedText.h" @implementation LinkedText @synthesize origin; - (id)initWithFrame:(CGRect)frame string:(NSString *)string { self = [super initWithFrame:frame]; if (self) { // Initialization code NSMutableDictionary *attrDic=[NSMutableDictionary dictionaryWithCapacity:0]; CTFontRef ctFont=CTFontCreateWithName((__bridge CFStringRef)@"Helvetica",24, NULL); [attrDic setObject:(__bridge id)ctFont forKey:(NSString *) kCTFontAttributeName]; [attrDic setObject:(__bridge id)[UIColor blueColor].CGColor forKey:(NSString *)kCTForegroundColorAttributeName]; [attrDic setObject:[NSNumber numberWithInt:(int)kCTUnderlineStyleSingle] forKey:(NSString *)kCTUnderlineStyleAttributeName]; NSMutableAttributedString *linkedText=[[NSMutableAttributedString alloc]initWithString:string attributes:attrDic]; CGMutablePathRef path=CGPathCreateMutable(); CTFramesetterRef framesetter= CTFramesetterCreateWithAttributedString((__bridge CFMutableAttributedStringRef)linkedText);; CGPathAddRect(path, NULL, self.bounds); ctFrame=CTFramesetterCreateFrame(framesetter,CFRangeMake(0, [linkedText length]),path,NULL); CFArrayRef lines=CTFrameGetLines(ctFrame); CFIndex lastitem=CFArrayGetCount(lines)-1; CTFrameGetLineOrigins(ctFrame, CFRangeMake(lastitem,1), &origin); CGPathRelease(path); self.backgroundColor=[UIColor clearColor]; } return self; }
できた。originを呼び元のrootのviewcontrollerから参照してボタンを置いて、あとはUIWebViewでリンク先を開くだけ。これはacessTokenを取る時と同じ感じでいけるはず。本当か。
夜は職場の人とサシで御飯食べて更にそこから角力@玉造でコクしょうゆらーめん。美味いが、若干甘いかな。満腹。
0 件のコメント:
コメントを投稿