// // SCScrollView.swift // SegmentedControl // // Created by Xin Hong on 15/12/30. // Copyright © 2015年 Teambition. All rights reserved. // import UIKit internal class SCScrollView: UIScrollView { override func touchesBegan(_ touches: Set, with event: UIEvent?) { if !isDragging { next?.touchesBegan(touches, with: event) } else { super.touchesBegan(touches, with: event) } } override func touchesMoved(_ touches: Set, with event: UIEvent?) { if !isDragging { next?.touchesMoved(touches, with: event) } else { super.touchesMoved(touches, with: event) } } override func touchesEnded(_ touches: Set, with event: UIEvent?) { if !isDragging { next?.touchesEnded(touches, with: event) } else { super.touchesEnded(touches, with: event) } } } internal extension SCScrollView { internal var parentViewController: UIViewController? { var parentResponder: UIResponder? = self while parentResponder != nil { parentResponder = parentResponder!.next if let viewController = parentResponder as? UIViewController { return viewController } } return nil } }