Swift在视图中创建一条用户可以调整大小的行

时间:2017-04-21 03:20:46

标签: swift

如何创建一条可以控制其原点的简单线,让用户确定它的结束位置?

我的故事板上有一个UIView,除此之外我想插入一行。该线将被限制在此特定视图内,并从左侧开始垂直居中。

我有一个带有 - 和+的按钮,允许用户增加长度或减少它。

2 个答案:

答案 0 :(得分:0)

我认为最简单的方法是在主视图中添加另一个UIView(称之为lineView),将其宽度设置为您想要的线条宽度的任何宽度和@IBOutlet联系起来。然后在@IBAction-的{​​{1}}方法中,更改+的高度

答案 1 :(得分:0)

我在这里找到答案,http://bluebirdjs.com/docs/api/promise.reduce.html

class LineView : UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.backgroundColor = UIColor.init(white: 0.0, alpha: 0.0)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func draw(_ rect: CGRect) {
        if let context = UIGraphicsGetCurrentContext() {
            context.setStrokeColor(UIColor.blue.cgColor)
            context.setLineWidth(3)
            context.beginPath()
            context.move(to: CGPoint(x: 5.0, y: 5.0)) // This would be oldX, oldY
            context.addLine(to: CGPoint(x: 50.0, y: 50.0)) // This would be newX, newY
            context.strokePath()
        }
    }
}


let imageView = UIImageView(image: #imageLiteral(resourceName: "image.png")) // This would be your mapView, here I am just using a random image
let lineView = LineView(frame: imageView.frame)
imageView.addSubview(lineView)