Рисование линии при просмотре / просмотре изображений в iOS / swift3

Я нашел здесь вопрос, похожий на мой: Нарисуйте линию в реальном времени с помощью Swift 3.0

После того, как я собрал все это вместе, у меня все это есть в моей собственной программе, но я не уверен, где вызвать drawLineFrom (fromPoint: CGPoint, toPoint: CGPoint) в моем коде, чтобы я действительно мог рисовать. Приложение запускается, но я все еще не могу рисовать. Код ниже.

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    swiped = false
    if let touch = touches.first {
        lastPoint = touch.location(in: self.view)
    }
}

func drawLineFrom(fromPoint: CGPoint, toPoint: CGPoint) {
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0)

    tempImageView.image?.draw(in: view.bounds)

    let context = UIGraphicsGetCurrentContext()

    context?.move(to: fromPoint)
    context?.addLine(to: toPoint)

    context?.setLineCap(CGLineCap.round)
    context?.setLineWidth(brushWidth)
    context?.setStrokeColor(red: red, green: green, blue: blue, alpha: 1.0)
    context?.setBlendMode(CGBlendMode.normal)
    context?.strokePath()

    tempImageView.image = UIGraphicsGetImageFromCurrentImageContext()
    tempImageView.alpha = opacity
    UIGraphicsEndImageContext()
}

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
    swiped = true
    if let touch = touches.first {
        let currentPoint = touch.location(in: view)
        drawLineFrom(fromPoint: lastPoint, toPoint: currentPoint)

        lastPoint = currentPoint
    }
}

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
    if !swiped {
        // draw a single point
        self.drawLineFrom(fromPoint: lastPoint, toPoint: lastPoint)
    }
}

let tempImageView = UIImageView()

override func viewDidLoad() {
    super.viewDidLoad()

    view.backgroundColor = UIColor(r: 21, g: 221, b: 125)

    //view.addSubview(titleLabel)
    //view.addSubview(learnButton)
    //view.addSubview(drawButton)
    //view.addSubview(mainImageView)
    view.addSubview(tempImageView)


    //setupTitleLabel()
    //setupLearnButton()
    //setupDrawButton()
    setupImageViews()

    self.navigationController?.isNavigationBarHidden = true
}

func setupImageViews() {
    tempImageView.widthAnchor.constraint(equalTo: view.widthAnchor)
    tempImageView.heightAnchor.constraint(equalTo: view.heightAnchor)
}

person xyphergrim    schedule 13.11.2016    source источник
comment
Что именно происходит в моем коде, так что я могу рисовать ... но я все еще не могу рисовать.   -  person shallowThought    schedule 13.11.2016
comment
@shallowThought Чтобы быть точным, мой главный экран / представление появляется с моим зеленым фоном, и поправьте меня, если я ошибаюсь, но я реализовал это в Android, и я предполагаю, что симулятор будет имитировать рисование (палец на экране), удерживая мышь нажмите на экран симулятора и переместите указатель.   -  person xyphergrim    schedule 13.11.2016
comment
Является touchesBegan aso. называется?   -  person shallowThought    schedule 13.11.2016
comment
@shallowThought Ну, это в моем коде (верхнее переопределение), и для проверки я просто помещаю печать (сенсорное управление) в переопределение touchesBegan () и при запуске приложения, которое работает. Когда я нажимаю на симулятор, консоль печатает сенсорную работу   -  person xyphergrim    schedule 13.11.2016
comment
Поместите print("touch works") в предложение if,   -  person shallowThought    schedule 13.11.2016
comment
@shallowThought Верно, вот куда я его положил, и оттуда он работает   -  person xyphergrim    schedule 13.11.2016
comment
Еще немного кода, чем. tempImageView виден?   -  person shallowThought    schedule 13.11.2016
comment
@shallowThought я добавил еще код (tempImageView)   -  person xyphergrim    schedule 13.11.2016