自定义视图在滚动视图内滚动

时间:2018-01-16 10:00:21

标签: ios swift uiview uiscrollview

我创建了一个名为SignView的自定义视图,并将其添加到另一个名为mainSignView的customView中,该视图位于名为getFormView的滚动视图中,但当我在signView上签名时,它会滚动而我无法执行任何迹象都有助于我克服这个问题!

这就是我所拥有的

    @objc func pressedSignViewAction(_ sender: UILabel) {

    self.signViewElement = "signView1"
    uniY += 60
    mainSignView = UIView(frame: CGRect(x: 20, y: uniY, width: 250, height: 250))
    mySignViewName = UILabel(frame: CGRect(x: 20, y: 10, width: 200, height: 30))
    let signLabel = UILabel(frame: CGRect(x: 20, y: 50, width: 200, height: 30))
    signView  = YPDrawSignatureView(frame: CGRect(x: 10, y: 90, width: 230, height: 100))
    signView.backgroundColor = .white

    signLabel.text = "Signature"
    mainSignView.backgroundColor = .green

    mySignViewName.text = self.signViewNameFD
    self.signViewNameElement = self.signViewNameFD

   cancelButton = UIButton(frame : CGRect(x: 20, y: 200, width: 100, height: 25))
    cancelButton.addTarget(self, action: #selector(pressedSignClearAction(_:)), for: .touchUpInside)
    cancelButton.setTitle("Clear",for: .normal)
    cancelButton.setTitleColor(UIColor.red, for: .normal)


    uniY += 170


    self.view.addSubview(getFormView)
    //self.getFormView.addSubview(signLabel)
    self.getFormView.addSubview(mainSignView)
    self.mainSignView.addSubview(signLabel)
    self.mainSignView.addSubview(signView)
    self.mainSignView.addSubview(mySignViewName)
    self.mainSignView.addSubview(cancelButton)

    self.enterSignViewTitle()
    self.updateScrollY()
}

@objc func pressedSignClearAction(_ sender: UIButton) {

self.signView.clear()

}

enter image description here

1 个答案:

答案 0 :(得分:0)

来自YPDrawSignatureView Documentation

// MARK: - Delegate Methods

// The delegate functions gives feedback to the instanciating class. All functions are optional,
// meaning you just implement the one you need.

// didStart() is called right after the first touch is registered in the view.
// For example, this can be used if the view is embedded in a scroll view, temporary
// stopping it from scrolling while signing.
func didStart() {
    print("Started Drawing")
    yourScroll.isScrollEnabled = false
}

// didFinish() is called rigth after the last touch of a gesture is registered in the view.
// Can be used to enable scrolling in a scroll view if it has previous been disabled.
func didFinish() {
    print("Finished Drawing")
    yourScroll.isScrollEnabled = true
}