Swift UITextView和UIImageView UIBezierPath

时间:2015-03-25 00:04:33

标签: swift uibezierpath

我正在使用Swift,设置在IB中创建的UITextView,尝试在页面上获取多个图像以编程方式包装文本。当我添加第二个图像时,似乎可以使用一个图像路径正常工作但会中断(停止包装第一个图像)。任何援助将不胜感激。

代码示例:

    override func viewDidLoad() {
    super.viewDidLoad()


    let image = UIImageView(image: UIImage(named: "testimage"))
    image.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
    let path = UIBezierPath(rect: CGRectMake(0, 0, image.frame.width, image.frame.height))
    textContainer.textContainer.exclusionPaths = [path]
    textContainer.addSubview(image)

    let image2 = UIImageView(image: UIImage(named: "testimage2"))
    image2.frame = CGRect(x: 100, y: 200, width: 100, height: 100)
    let path2 = UIBezierPath(rect: CGRectMake(100, 200, image.frame.width, image.frame.height))
    textContainer.textContainer.exclusionPaths = [path2]
    textContainer.addSubview(image2)

谢谢!

道连

1 个答案:

答案 0 :(得分:1)

您需要将第二条路径附加到exclusionPaths数组。

目前您正在用第二条路径替换第一条路径,而不是同时使用两条路径。

例如:

textContainer.textContainer.exclusionPaths.append(path2)