2012-06-18 5 views
0

이미지를로드하고 텍스트를 추가하려고합니다. 내 텍스트는 UILabel이고 나는 UIImage에 추가하려고합니다. 텍스트를 추가 할 수 있지만 올바른 크기로 가져올 수 없습니다. 메신저는 label.adjustsFontSizeToFitWidth = YES; 기능을 사용하려고하지만 큰 이미지에는 텍스트가 매우 작게 나옵니다. UILabel on image

-(UILabel *)xlabel{ 
    if (!xlabel) { 
     xlabel = [[UILabel alloc] initWithFrame:self.setLablePosition]; 
     xlabel.backgroundColor = [UIColor redColor]; 
     xlabel.adjustsFontSizeToFitWidth = YES; 
     xlabel.lineBreakMode = UILineBreakModeWordWrap; 
     xlabel.numberOfLines = 0; 
     xlabel.textAlignment = UITextAlignmentCenter; 
    } 
    return xlabel; 
} 

-(UIImage *) textToImage:(UIImage *) myImage{ 
    UIImage *watermarkedImage = nil; 

    UIGraphicsBeginImageContext(appDelegate.theImg.size); 
    [myImage drawAtPoint: CGPointZero]; 
    [self.xlabel drawTextInRect:CGRectMake(0.0, 0.0, appDelegate.theImg.size.width, appDelegate.theImg.size.height)]; 
    watermarkedImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext();  
    return watermarkedImage; 
} 

+0

어떤 것이 효과가 있습니까? –

+0

저스틴 폴슨 (Justin Paulson)의 대답은 효과가 있었지만 해결책을 찾기 위해 1 줄로 제한했습니다. –

답변

2

adjustsFontSizeToFitWidth은 글꼴의 크기를 줄일 수 있습니다 감사합니다. 기본적으로 글꼴 크기 17로 시작합니다. 텍스트가 너무 길면 텍스트가 작아집니다.

xlabel.font = [UIFont systemFontOfSize:25]; 

를 한 후 큰 사이즈의 이미지에 더 큰 것 작은 이미지를 필요에 따라 감소 :

당신은 더 큰 글꼴 크기로 시작하는 시도 할 수 있습니다.

adjustsFontSizeToFitWidth 또한 numberOfLines1으로 설정된 경우에만 작동합니다.

참조 : UILabel Documentation

+0

이 작업을 수행하는 방법을 알고 있고 그것을 1 줄로 제한하지 않습니까? –

+0

여러 줄이 조금 더 문제가됩니다. 그것이 당신을 위해 그것을 할 수있는 방법은 없습니다, 당신은 하나 이상의 라인을 작동 시키려면 그것을 스스로 코딩해야합니다. 얼마나 많은 문자를 분석하고 글꼴 크기를 적절하게 조정해야합니다. 미리 설정된 양의 줄이 있습니까? 아니면 사용자 입력에 따라 동적 인 라인 수입니까? –

+0

bummer ... 사용자 입력이지만 2 줄 이상 입력하지 마십시오. –