如何在UIImage swift上添加多个textview或label

时间:2016-10-24 10:33:46

标签: swift uilabel uitextview

我需要像这样在UIImage上使用多个textview。

我想在我的imageView中添加多个视图(文本+标签)。

enter image description here

谢谢 -

2 个答案:

答案 0 :(得分:0)

希望这个想法对你有所帮助。

  • 触摸事件时获取X / Y轴。
  • 将X / Y轴信息传递给绘制动态UItextField

    的某个函数
    func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
    {
    
        if let touch = touches.first {
            let position = touch.location(in: self)
            print(position.x)
            print(position.y)
        }
    }
    
    
    
    func addDynamicTextField(xAxis: CGFloat, yAxis: CGFloat)
    {
        let someFrame = CGRect(x: xAxis, y: yAxis, width: 100.0, height: 30.0)
    
        let text = UITextField(frame: someFrame)
    
        imageView.addSubview(text)
    }
    

答案 1 :(得分:0)

点击此处查看我的详细示例:

How to add interactive UILabels on top of a UIImageView?

那里的代码添加了两个CALayers,可以检测点击并更改文本。使用相同类型的逻辑,您可以添加将处理移动/调整大小/旋转的平移/捏合/旋转处理程序。

在连接处理程序之后,就像在该示例中一样,这是剩余的功能:

func moveLayer(_ recognizer:UIPanGestureRecognizer) {
    let p = recognizer.location(in: self)
    if layer1.editMode {
        layer1.position = p
    }
    if layer2.editMode {
        layer2.position = p
    }
}

func rotateLayer(_ recognizer:UIRotationGestureRecognizer) {
    let p = recognizer.location(in: self)
    if layer1.editMode {
        layer1.anchorPoint = CGPoint(x: 0.5, y: 0.5)
        layer1.transform = CATransform3DRotate(myRedEye.transform, recognizer.rotation, 0.0, 0.0, 1.0);        }
    if layer2.editMode {
        layer2.position = p
    }
}

func resizeLayer(_ recognizer:UIPinchGestureRecognizer) {
    _ = recognizer.location(in: self)
    if layer1.editMode {
        layer1.transform = CATransform3DScale(myRedEye.transform, recognizer.scale, recognizer.scale, recognizer.scale)
        recognizer.scale = 1
    }
    if layer2.editMode {
        layer2.transform = CGAffineTransformScale(myGreenEye.transform, recognizer.scale, recognizer.scale)
    }
}

这是我一年前写的代码,从未投入生产。如果我的记忆力很好,最棘手的部分是iOS如何区分捏合和旋转手势。由于两者都使用两个手指,因此结合调整大小和旋转会导致一些小的意外(恕我直言)行为。