2015-01-11 35 views
0

我正在構建一個iOS 8專用應用程序,該應用程序允許我在圖像上的任意位置鍵入註釋。目前,當用戶點擊UIImageView上的任何位置時,該應用程序會呈現一個模態文本視圖,以允許用戶輸入他們想要添加到照片中的文本。當用戶點擊「完成」的模式視圖,文本使用下列繪圖代碼加入...在UIImageView上打字

+ (UIImage *)drawText:(NSString *)text 
      inImage:(UIImage *)image 
      atPoint:(CGPoint)point { 
    UIFont *font = [UIFont boldSystemFontOfSize:12]; 
    UIGraphicsBeginImageContext(image.size); 
    [image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)]; 
    CGRect rect = CGRectMake(point.x, point.y, image.size.width, image.size.height); 
    [[UIColor whiteColor] set]; 
    [text drawInRect:CGRectIntegral(rect) withFont:font]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 

它的工作原理,但由於用戶無法看到文字的位置是不理想直到他們添加了文本。理想情況下,用戶可以直接在UIImageView上輸入,而無需在模態文本框中鍵入文本。如何將模態視圖從流程中取出並允許用戶直接在UIImageView上鍵入?

+0

添加一個透明的UITextField – Julien

回答

2

您可以添加一個包含UITextField和編輯按鈕的透明UIView。這將在用戶點擊後放置在UIImageView上方。

UIView可能包含編輯項目,如完成,清除和拖動。用戶還可以點擊現有文本並允許他們編輯文本。