2012-01-04 192 views
0

我想在CoreText使用UIMenuController,但我不能選擇的話,我想我必須計算的話座標,但座標不能與NSRange.Is有沒有辦法解決任何功能對應它?CoreText,複製和粘貼

對不起我的英文不好〜 這裏是我的代碼

CFArrayRef lines = CTFrameGetLines(leftFrame); 
CFIndex i, total = CFArrayGetCount(lines); 


CGFloat y; 
for (i = 0; i < total; i++) { 
    CGPoint origins; 
    CTFrameGetLineOrigins(leftFrame, CFRangeMake(i, 1), &origins); 


    CTLineRef line = (CTLineRef)CFArrayGetValueAtIndex(lines, i); 

    y = self.bounds.origin.y + self.bounds.size.height - origins.y; 

    //CTLineDraw(line, UIGraphicsGetCurrentContext()); 
    CFArrayRef runs = CTLineGetGlyphRuns(line); 
    CFIndex r, runsTotal = CFArrayGetCount(runs); 
    //NSLog(@"runsTotal = %d",runsTotal); 
    for (r = 0; r < runsTotal; r++) { 

     CGRect runBounds = CTRunGetImageBounds(CFArrayGetValueAtIndex(runs, r), context, CFRangeMake(0, 0)); 

     NSLog(@"runBounds.x = %f,runBounds.y = %f",runBounds.origin.x,runBounds.origin.y); 
     CFIndex index = CTRunGetStringRange(CFArrayGetValueAtIndex(runs, r)).location; 

     //NSLog(@"%d",index); 

    } 
} 

回答

0

核心文本不支持文本選擇,你需要自己做,請按照EGOTextView爲例