123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //
- // 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<UITouch>, with event: UIEvent?) {
- if !isDragging {
- next?.touchesBegan(touches, with: event)
- } else {
- super.touchesBegan(touches, with: event)
- }
- }
- override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
- if !isDragging {
- next?.touchesMoved(touches, with: event)
- } else {
- super.touchesMoved(touches, with: event)
- }
- }
- override func touchesEnded(_ touches: Set<UITouch>, 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
- }
- }
|