0

uitextview を作成し、NSAttributedString と NSTextAttachment を使用してそれにテキストと画像を追加できます

  self.tvContent = [[UITextView alloc] initWithFrame:CGRectMake(0, 20, 
  self.view.frame.size.width, self.view.frame.size.height - 64)];
  self.tvContent.font = [UIFont fontWithName:@"Arial" size:16.0f];
  self.tvContent.backgroundColor = [UIColor whiteColor];
  self.tvContent.textContainerInset = UIEdgeInsetsMake(10, 10, 10, 10);
  self.tvContent.contentInset = UIEdgeInsetsMake(0, 0, 10, 0);
  self.tvContent.layoutManager.allowsNonContiguousLayout=NO;
  [self.view addSubview:self.tvContent];

そして、次のコードでそのコンテンツを画像に変換します

  - (UIImage *)imageFromView:(UITextView *)view {
    CGRect tmpFrame = self.view.frame;
    CGRect aFrame = view.frame;
    aFrame.size.height  = [view sizeThatFits:[[UIScreen mainScreen] bounds].size].height;
    view.frame = aFrame;
    UIGraphicsBeginImageContext([view sizeThatFits:[[UIScreen mainScreen] bounds].size]);
    CGContextRef resizedContext = UIGraphicsGetCurrentContext();
    [view.layer renderInContext:resizedContext];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    view.frame = tmpFrame;
    return image;
 }

この画像の最大幅は 375 (iPhone 6) です。たとえば1234、画像の幅が 40 のように少ないコンテンツを書いた場合、コンテンツを幅 750、高さなどのカスタム サイズの画像に変換するにはどうすればよいですか?コンテンツの高さと同じですか?何か案は?どうもありがとう。

4

1 に答える 1