代码之家  ›  专栏  ›  技术社区  ›  Pushkraj Lanjekar

在UITextView上添加具有自定义间距和文本的图像

  •  6
  • Pushkraj Lanjekar  · 技术社区  · 11 年前

    我想在文本视图中添加图像,并希望屏幕截图中显示适当的间距。 Its A screenshot as I want as per design:

    我试着在文本视图上添加图像,但我在根据要求放置文本时遇到了问题。 请为我提供同样的帮助。

    5 回复  |  直到 11 年前
        1
  •  9
  •   Binarian    10 年前

    在定义textView和imageView之后添加以下代码。

    import CoreText.Framework
    
    UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)];
    
    textView.textContainer.exclusionPaths  = @[exclusionPath];
    
    [textView addSubview:imageView];
    

    要对核心文本教程有一个清晰的想法,请参阅 raywenderlich

        2
  •  5
  •   Shardul    9 年前

    在SWIFT中:

    var exclusionPath:UIBezierPath = UIBezierPath(rect: CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height))
    
    textView.textContainer.exclusionPaths  = [exclusionPath]
    textView.addSubview(imageView)
    
        3
  •  3
  •   Community Dai    7 年前

    作为我的建议,你可以使用 UIWebview 而不是 TextView 用于执行此任务 loadHTMLString 这是一个 example of loading local fines in UIWebview 请看一下这个和你需要的暗示

        4
  •  3
  •   Binarian    10 年前

    @Fogmeister是正确的,但是,如果你想通过使用默认的RICH TEXT和IMAGE功能来做一些不那么复杂的事情,现在iOS 7中只使用NSAttributedString就可以使用了,那么看看这个 link .

    您将无法支持文本换行(请使用Pages),但对于简单的笔记,这可能会起作用。

        5
  •  3
  •   Binarian    10 年前

    你遇到的问题是,你在问题中输入的图像没有使用 UITextView .

    这样做的方法是使用 Text Kit 并将文本手动呈现到视图上。

    通过这样做,您可以(在iOS7中)指定 CGPath 文本“包裹”在周围。

    有一个2013年WWDC视频“介绍文字工具包”,你可以观看 here .

    这说明了如何做到这一点。