├── .DS_Store
├── .travis.yml
├── Example
├── .DS_Store
├── MCPageViewController.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── MCPageViewController-Example.xcscheme
│ └── xcuserdata
│ │ └── mancong.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── MCPageViewController.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ ├── MC.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ └── mancong.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ └── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
├── MCPageViewController
│ ├── .DS_Store
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Demo
│ │ ├── .DS_Store
│ │ ├── Badge
│ │ │ └── MCBadgeOneViewController.swift
│ │ ├── BasicUse(基本使用&属性设置)
│ │ │ ├── MCBasicUseFiveViewController.swift
│ │ │ ├── MCBasicUseFourViewController.swift
│ │ │ ├── MCBasicUseOneViewController.swift
│ │ │ ├── MCBasicUseSixViewController.swift
│ │ │ ├── MCBasicUseSubViewController.swift
│ │ │ ├── MCBasicUseThreeViewController.swift
│ │ │ ├── MCBasicUseTwoViewController.swift
│ │ │ └── MCBasicUseViewController.swift
│ │ ├── SlidingSuspension(滑动悬挂)
│ │ │ ├── MCSlidingSuspensionTwoViewController.swift
│ │ │ ├── MCSlidingSuspensionViewController.swift
│ │ │ ├── NextViewController.swift
│ │ │ └── SlidingSuspensionChildViewController.swift
│ │ └── ThreeLevel(三级页面)
│ │ │ └── MCThreeLevelViewController.swift
│ ├── Images.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── HOT_bg.imageset
│ │ │ ├── Contents.json
│ │ │ └── HOT.png
│ │ └── hot.imageset
│ │ │ ├── Contents.json
│ │ │ └── hot.png
│ ├── Info.plist
│ └── ViewController.swift
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Alamofire
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Source
│ │ │ ├── AFError.swift
│ │ │ ├── Alamofire.swift
│ │ │ ├── DispatchQueue+Alamofire.swift
│ │ │ ├── MultipartFormData.swift
│ │ │ ├── NetworkReachabilityManager.swift
│ │ │ ├── Notifications.swift
│ │ │ ├── ParameterEncoding.swift
│ │ │ ├── Request.swift
│ │ │ ├── Response.swift
│ │ │ ├── ResponseSerialization.swift
│ │ │ ├── Result.swift
│ │ │ ├── ServerTrustPolicy.swift
│ │ │ ├── SessionDelegate.swift
│ │ │ ├── SessionManager.swift
│ │ │ ├── TaskDelegate.swift
│ │ │ ├── Timeline.swift
│ │ │ └── Validation.swift
│ ├── Kingfisher
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources
│ │ │ ├── AnimatedImageView.swift
│ │ │ ├── Box.swift
│ │ │ ├── CacheSerializer.swift
│ │ │ ├── Filter.swift
│ │ │ ├── FormatIndicatedCacheSerializer.swift
│ │ │ ├── Image.swift
│ │ │ ├── ImageCache.swift
│ │ │ ├── ImageDownloader.swift
│ │ │ ├── ImageModifier.swift
│ │ │ ├── ImagePrefetcher.swift
│ │ │ ├── ImageProcessor.swift
│ │ │ ├── ImageTransition.swift
│ │ │ ├── ImageView+Kingfisher.swift
│ │ │ ├── Indicator.swift
│ │ │ ├── Kingfisher.h
│ │ │ ├── Kingfisher.swift
│ │ │ ├── KingfisherManager.swift
│ │ │ ├── KingfisherOptionsInfo.swift
│ │ │ ├── Placeholder.swift
│ │ │ ├── RequestModifier.swift
│ │ │ ├── Resource.swift
│ │ │ ├── String+MD5.swift
│ │ │ ├── ThreadHelper.swift
│ │ │ └── UIButton+Kingfisher.swift
│ ├── Local Podspecs
│ │ └── MCPageViewController.podspec.json
│ ├── MCComponentExtension
│ │ ├── LICENSE
│ │ ├── MCComponentExtension
│ │ │ ├── Assets
│ │ │ │ └── UIImage
│ │ │ │ │ ├── PlaceHolderImage@2x.png
│ │ │ │ │ └── PlaceHolderImage@3x.png
│ │ │ └── Classes
│ │ │ │ ├── Array+Extension.swift
│ │ │ │ ├── Bundle+Extension.swift
│ │ │ │ ├── DispatchQueue+Extension.swift
│ │ │ │ ├── Extension+NotificationCenter.swift
│ │ │ │ ├── Int+Extension.swift
│ │ │ │ ├── NSMutableAttributedString+Extension.swift
│ │ │ │ ├── String+Extension.swift
│ │ │ │ ├── Time+Extension.swift
│ │ │ │ ├── UIAlertController+Extension.swift
│ │ │ │ ├── UIBarButtonItem+Extension.swift
│ │ │ │ ├── UIColor+Extension.swift
│ │ │ │ ├── UIDevice+Extension.swift
│ │ │ │ ├── UIFont+Extension.swift
│ │ │ │ ├── UIImage+Extension.swift
│ │ │ │ ├── UIView+Extension.swift
│ │ │ │ └── UserDefaults+Extension.swift
│ │ └── README.md
│ ├── MCComponentFunction
│ │ ├── LICENSE
│ │ ├── MCComponentFunction
│ │ │ ├── Assets
│ │ │ │ ├── PhotoLibrary
│ │ │ │ │ ├── image_not_selected@2x.png
│ │ │ │ │ ├── image_not_selected@3x.png
│ │ │ │ │ ├── image_selected@2x.png
│ │ │ │ │ └── image_selected@3x.png
│ │ │ │ ├── Scan
│ │ │ │ │ ├── Scan_back.png
│ │ │ │ │ └── Scan_scanning.png
│ │ │ │ └── Toast
│ │ │ │ │ ├── toast_failure@2x.png
│ │ │ │ │ ├── toast_failure@3x.png
│ │ │ │ │ ├── toast_other@2x.png
│ │ │ │ │ ├── toast_other@3x.png
│ │ │ │ │ ├── toast_success@2x.png
│ │ │ │ │ ├── toast_success@3x.png
│ │ │ │ │ ├── toast_wait@2x.png
│ │ │ │ │ ├── toast_wait@3x.png
│ │ │ │ │ ├── toast_warning@2x.png
│ │ │ │ │ └── toast_warning@3x.png
│ │ │ └── Classes
│ │ │ │ ├── AppStore
│ │ │ │ └── MCAppStore.swift
│ │ │ │ ├── CountDown
│ │ │ │ └── MCCountDown.swift
│ │ │ │ ├── Location
│ │ │ │ ├── MCLocation.swift
│ │ │ │ └── MCLocationHelper.swift
│ │ │ │ ├── MCDatePicker
│ │ │ │ ├── MCDateManager.swift
│ │ │ │ ├── MCDatePicker.swift
│ │ │ │ └── MCDatePickerPopupView.swift
│ │ │ │ ├── MCGeocoder
│ │ │ │ └── MCGeocoder.swift
│ │ │ │ ├── MCKingfisher
│ │ │ │ └── UIImageView+Kingfisher.swift
│ │ │ │ ├── MCNetwork
│ │ │ │ ├── MCBaseNetwork.swift
│ │ │ │ └── MCNetworkManager.swift
│ │ │ │ ├── MCRefresh
│ │ │ │ └── UIScrollView+MJRefresh.swift
│ │ │ │ ├── PhotoLibrary
│ │ │ │ ├── MCPhotoLibraryHelper.swift
│ │ │ │ ├── PhotoLibraryDetail
│ │ │ │ │ ├── MCPhotoLibraryCompleteButton.swift
│ │ │ │ │ ├── MCPhotoLibraryDetailCell.swift
│ │ │ │ │ ├── MCPhotoLibraryDetailModel.swift
│ │ │ │ │ └── MCPhotoLibraryDetailViewController.swift
│ │ │ │ └── PhotoLibraryList
│ │ │ │ │ └── MCPhotoLibraryListViewController.swift
│ │ │ │ ├── PickerImageHelper
│ │ │ │ ├── MCPickerImageHelper.swift
│ │ │ │ ├── UIImage+Extension.swift
│ │ │ │ └── UIImagePickerController+Extension .swift
│ │ │ │ ├── Route
│ │ │ │ ├── MCBaseViewController.swift
│ │ │ │ ├── MCErrorViewController.swift
│ │ │ │ ├── MCNavigationController.swift
│ │ │ │ ├── MCRoute+Main.swift
│ │ │ │ ├── MCRoute.swift
│ │ │ │ ├── MCTabBarController.swift
│ │ │ │ └── UIViewController+Route.swift
│ │ │ │ ├── Scan
│ │ │ │ ├── MCScanView.swift
│ │ │ │ ├── MCScanViewController.swift
│ │ │ │ └── Route+Scan.swift
│ │ │ │ ├── Toast
│ │ │ │ ├── MCToast+Extension.swift
│ │ │ │ ├── MCToast.swift
│ │ │ │ ├── MCToastConfig.swift
│ │ │ │ └── MCToastHelper.swift
│ │ │ │ └── Tool
│ │ │ │ └── MCTool.swift
│ │ └── README.md
│ ├── MCComponentPublicUI
│ │ ├── LICENSE
│ │ ├── MCComponentPublicUI
│ │ │ ├── Assets
│ │ │ │ └── View
│ │ │ │ │ ├── EmptyData@2x.png
│ │ │ │ │ ├── EmptyData@3x.png
│ │ │ │ │ ├── add@2x.png
│ │ │ │ │ ├── add@3x.png
│ │ │ │ │ ├── arrow@2x.png
│ │ │ │ │ ├── arrow@3x.png
│ │ │ │ │ ├── notSelected@2x.png
│ │ │ │ │ ├── notSelected@3x.png
│ │ │ │ │ ├── reduce@2x.png
│ │ │ │ │ ├── reduce@3x.png
│ │ │ │ │ ├── selected@2x.png
│ │ │ │ │ └── selected@3x.png
│ │ │ └── Classes
│ │ │ │ ├── Button
│ │ │ │ ├── Button+Extension.swift
│ │ │ │ ├── MCCountdownButton.swift
│ │ │ │ └── MCTopAndBottomTextButton.swift
│ │ │ │ ├── CollectionView
│ │ │ │ ├── MCCollectionView.swift
│ │ │ │ ├── MCCollectionViewLeftFlowLayout.swift
│ │ │ │ └── MCCollectionViewWaterfallFlowLayout.swift
│ │ │ │ ├── TableView
│ │ │ │ ├── MCTableView.swift
│ │ │ │ └── MCTableViewCell.swift
│ │ │ │ ├── TextField
│ │ │ │ └── MCTextField.swift
│ │ │ │ ├── Textview
│ │ │ │ ├── MCTextView.swift
│ │ │ │ └── UITextView+Extension.swift
│ │ │ │ └── View
│ │ │ │ ├── MCEmptyDataView.swift
│ │ │ │ ├── MCEventBarView.swift
│ │ │ │ ├── MCInputBarView.swift
│ │ │ │ ├── MCRadioBarView.swift
│ │ │ │ └── MCShowBarView.swift
│ │ └── README.md
│ ├── MJRefresh
│ │ ├── LICENSE
│ │ ├── MJRefresh
│ │ │ ├── Base
│ │ │ │ ├── MJRefreshAutoFooter.h
│ │ │ │ ├── MJRefreshAutoFooter.m
│ │ │ │ ├── MJRefreshBackFooter.h
│ │ │ │ ├── MJRefreshBackFooter.m
│ │ │ │ ├── MJRefreshComponent.h
│ │ │ │ ├── MJRefreshComponent.m
│ │ │ │ ├── MJRefreshFooter.h
│ │ │ │ ├── MJRefreshFooter.m
│ │ │ │ ├── MJRefreshHeader.h
│ │ │ │ └── MJRefreshHeader.m
│ │ │ ├── Custom
│ │ │ │ ├── Footer
│ │ │ │ │ ├── Auto
│ │ │ │ │ │ ├── MJRefreshAutoGifFooter.h
│ │ │ │ │ │ ├── MJRefreshAutoGifFooter.m
│ │ │ │ │ │ ├── MJRefreshAutoNormalFooter.h
│ │ │ │ │ │ ├── MJRefreshAutoNormalFooter.m
│ │ │ │ │ │ ├── MJRefreshAutoStateFooter.h
│ │ │ │ │ │ └── MJRefreshAutoStateFooter.m
│ │ │ │ │ └── Back
│ │ │ │ │ │ ├── MJRefreshBackGifFooter.h
│ │ │ │ │ │ ├── MJRefreshBackGifFooter.m
│ │ │ │ │ │ ├── MJRefreshBackNormalFooter.h
│ │ │ │ │ │ ├── MJRefreshBackNormalFooter.m
│ │ │ │ │ │ ├── MJRefreshBackStateFooter.h
│ │ │ │ │ │ └── MJRefreshBackStateFooter.m
│ │ │ │ └── Header
│ │ │ │ │ ├── MJRefreshGifHeader.h
│ │ │ │ │ ├── MJRefreshGifHeader.m
│ │ │ │ │ ├── MJRefreshNormalHeader.h
│ │ │ │ │ ├── MJRefreshNormalHeader.m
│ │ │ │ │ ├── MJRefreshStateHeader.h
│ │ │ │ │ └── MJRefreshStateHeader.m
│ │ │ ├── MJRefresh.bundle
│ │ │ │ ├── arrow@2x.png
│ │ │ │ ├── en.lproj
│ │ │ │ │ └── Localizable.strings
│ │ │ │ ├── zh-Hans.lproj
│ │ │ │ │ └── Localizable.strings
│ │ │ │ └── zh-Hant.lproj
│ │ │ │ │ └── Localizable.strings
│ │ │ ├── MJRefresh.h
│ │ │ ├── MJRefreshConst.h
│ │ │ ├── MJRefreshConst.m
│ │ │ ├── NSBundle+MJRefresh.h
│ │ │ ├── NSBundle+MJRefresh.m
│ │ │ ├── UIScrollView+MJExtension.h
│ │ │ ├── UIScrollView+MJExtension.m
│ │ │ ├── UIScrollView+MJRefresh.h
│ │ │ ├── UIScrollView+MJRefresh.m
│ │ │ ├── UIView+MJExtension.h
│ │ │ └── UIView+MJExtension.m
│ │ └── README.md
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ │ └── mancong.xcuserdatad
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcuserdata
│ │ │ ├── MC.xcuserdatad
│ │ │ └── xcschemes
│ │ │ │ ├── FLAnimatedImage.xcscheme
│ │ │ │ ├── MCPageViewController.xcscheme
│ │ │ │ ├── Pods-MCPageViewController_Example.xcscheme
│ │ │ │ ├── Pods-MCPageViewController_Tests.xcscheme
│ │ │ │ ├── SDWebImage.xcscheme
│ │ │ │ └── xcschememanagement.plist
│ │ │ └── mancong.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Alamofire.xcscheme
│ │ │ ├── Kingfisher.xcscheme
│ │ │ ├── MCComponentExtension-MCComponentExtensionBundle.xcscheme
│ │ │ ├── MCComponentExtension.xcscheme
│ │ │ ├── MCComponentFunction-MCPhotoLibraryBundle.xcscheme
│ │ │ ├── MCComponentFunction-MCScanBundle.xcscheme
│ │ │ ├── MCComponentFunction-MCToastBundle.xcscheme
│ │ │ ├── MCComponentFunction.xcscheme
│ │ │ ├── MCComponentPublicUI-MCComponentPublicUIViewBundle.xcscheme
│ │ │ ├── MCComponentPublicUI.xcscheme
│ │ │ ├── MCPageViewController.xcscheme
│ │ │ ├── MJRefresh.xcscheme
│ │ │ ├── Pods-MCPageViewController_Example.xcscheme
│ │ │ ├── Pods-MCPageViewController_Tests.xcscheme
│ │ │ ├── SnapKit.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── SnapKit
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Source
│ │ │ ├── Constraint.swift
│ │ │ ├── ConstraintAttributes.swift
│ │ │ ├── ConstraintConfig.swift
│ │ │ ├── ConstraintConstantTarget.swift
│ │ │ ├── ConstraintDSL.swift
│ │ │ ├── ConstraintDescription.swift
│ │ │ ├── ConstraintInsetTarget.swift
│ │ │ ├── ConstraintInsets.swift
│ │ │ ├── ConstraintItem.swift
│ │ │ ├── ConstraintLayoutGuide+Extensions.swift
│ │ │ ├── ConstraintLayoutGuide.swift
│ │ │ ├── ConstraintLayoutGuideDSL.swift
│ │ │ ├── ConstraintLayoutSupport.swift
│ │ │ ├── ConstraintLayoutSupportDSL.swift
│ │ │ ├── ConstraintMaker.swift
│ │ │ ├── ConstraintMakerEditable.swift
│ │ │ ├── ConstraintMakerExtendable.swift
│ │ │ ├── ConstraintMakerFinalizable.swift
│ │ │ ├── ConstraintMakerPriortizable.swift
│ │ │ ├── ConstraintMakerRelatable.swift
│ │ │ ├── ConstraintMultiplierTarget.swift
│ │ │ ├── ConstraintOffsetTarget.swift
│ │ │ ├── ConstraintPriority.swift
│ │ │ ├── ConstraintPriorityTarget.swift
│ │ │ ├── ConstraintRelatableTarget.swift
│ │ │ ├── ConstraintRelation.swift
│ │ │ ├── ConstraintView+Extensions.swift
│ │ │ ├── ConstraintView.swift
│ │ │ ├── ConstraintViewDSL.swift
│ │ │ ├── Debugging.swift
│ │ │ ├── LayoutConstraint.swift
│ │ │ ├── LayoutConstraintItem.swift
│ │ │ ├── Typealiases.swift
│ │ │ └── UILayoutSupport+Extensions.swift
│ └── Target Support Files
│ │ ├── Alamofire
│ │ ├── Alamofire-Info.plist
│ │ ├── Alamofire-dummy.m
│ │ ├── Alamofire-prefix.pch
│ │ ├── Alamofire-umbrella.h
│ │ ├── Alamofire.modulemap
│ │ └── Alamofire.xcconfig
│ │ ├── Kingfisher
│ │ ├── Kingfisher-Info.plist
│ │ ├── Kingfisher-dummy.m
│ │ ├── Kingfisher-prefix.pch
│ │ ├── Kingfisher-umbrella.h
│ │ ├── Kingfisher.modulemap
│ │ └── Kingfisher.xcconfig
│ │ ├── MCComponentExtension
│ │ ├── MCComponentExtension-Info.plist
│ │ ├── MCComponentExtension-dummy.m
│ │ ├── MCComponentExtension-prefix.pch
│ │ ├── MCComponentExtension-umbrella.h
│ │ ├── MCComponentExtension.modulemap
│ │ ├── MCComponentExtension.xcconfig
│ │ └── ResourceBundle-MCComponentExtensionBundle-MCComponentExtension-Info.plist
│ │ ├── MCComponentFunction
│ │ ├── MCComponentFunction-Info.plist
│ │ ├── MCComponentFunction-dummy.m
│ │ ├── MCComponentFunction-prefix.pch
│ │ ├── MCComponentFunction-umbrella.h
│ │ ├── MCComponentFunction.modulemap
│ │ ├── MCComponentFunction.xcconfig
│ │ ├── ResourceBundle-MCClipImageBundle-MCComponentFunction-Info.plist
│ │ ├── ResourceBundle-MCPhotoLibraryBundle-MCComponentFunction-Info.plist
│ │ ├── ResourceBundle-MCScanBundle-MCComponentFunction-Info.plist
│ │ └── ResourceBundle-MCToastBundle-MCComponentFunction-Info.plist
│ │ ├── MCComponentPublicUI
│ │ ├── MCComponentPublicUI-Info.plist
│ │ ├── MCComponentPublicUI-dummy.m
│ │ ├── MCComponentPublicUI-prefix.pch
│ │ ├── MCComponentPublicUI-umbrella.h
│ │ ├── MCComponentPublicUI.modulemap
│ │ ├── MCComponentPublicUI.xcconfig
│ │ └── ResourceBundle-MCComponentPublicUIViewBundle-MCComponentPublicUI-Info.plist
│ │ ├── MCPageViewController
│ │ ├── Info.plist
│ │ ├── MCPageViewController-Info.plist
│ │ ├── MCPageViewController-dummy.m
│ │ ├── MCPageViewController-prefix.pch
│ │ ├── MCPageViewController-umbrella.h
│ │ ├── MCPageViewController.modulemap
│ │ └── MCPageViewController.xcconfig
│ │ ├── MJRefresh
│ │ ├── MJRefresh-Info.plist
│ │ ├── MJRefresh-dummy.m
│ │ ├── MJRefresh-prefix.pch
│ │ ├── MJRefresh-umbrella.h
│ │ ├── MJRefresh.modulemap
│ │ └── MJRefresh.xcconfig
│ │ ├── Pods-MCPageViewController_Example
│ │ ├── Info.plist
│ │ ├── Pods-MCPageViewController_Example-Info.plist
│ │ ├── Pods-MCPageViewController_Example-acknowledgements.markdown
│ │ ├── Pods-MCPageViewController_Example-acknowledgements.plist
│ │ ├── Pods-MCPageViewController_Example-dummy.m
│ │ ├── Pods-MCPageViewController_Example-frameworks.sh
│ │ ├── Pods-MCPageViewController_Example-resources.sh
│ │ ├── Pods-MCPageViewController_Example-umbrella.h
│ │ ├── Pods-MCPageViewController_Example.debug.xcconfig
│ │ ├── Pods-MCPageViewController_Example.modulemap
│ │ └── Pods-MCPageViewController_Example.release.xcconfig
│ │ ├── Pods-MCPageViewController_Tests
│ │ ├── Info.plist
│ │ ├── Pods-MCPageViewController_Tests-Info.plist
│ │ ├── Pods-MCPageViewController_Tests-acknowledgements.markdown
│ │ ├── Pods-MCPageViewController_Tests-acknowledgements.plist
│ │ ├── Pods-MCPageViewController_Tests-dummy.m
│ │ ├── Pods-MCPageViewController_Tests-frameworks.sh
│ │ ├── Pods-MCPageViewController_Tests-resources.sh
│ │ ├── Pods-MCPageViewController_Tests-umbrella.h
│ │ ├── Pods-MCPageViewController_Tests.debug.xcconfig
│ │ ├── Pods-MCPageViewController_Tests.modulemap
│ │ └── Pods-MCPageViewController_Tests.release.xcconfig
│ │ └── SnapKit
│ │ ├── SnapKit-Info.plist
│ │ ├── SnapKit-dummy.m
│ │ ├── SnapKit-prefix.pch
│ │ ├── SnapKit-umbrella.h
│ │ ├── SnapKit.modulemap
│ │ └── SnapKit.xcconfig
└── Tests
│ ├── Info.plist
│ └── Tests.swift
├── LICENSE
├── MCPageViewController.podspec
├── MCPageViewController
├── .DS_Store
├── Assets
│ └── .gitkeep
└── Classes
│ ├── .DS_Store
│ ├── .gitkeep
│ ├── HangCategory
│ ├── MCBaseTableView.swift
│ └── MCPageChildViewController.swift
│ ├── MCCategoryBar
│ ├── MCCategoryBar.swift
│ ├── MCCategoryBarCell.swift
│ ├── MCCategoryBarModel.swift
│ └── MCIndicatorView.swift
│ ├── MCContainerView
│ └── MCContainerView.swift
│ └── MCPageBase
│ ├── MCPageConfig.swift
│ └── MCPageTool.swift
├── README.md
├── Resources
├── .DS_Store
├── demo1.png
├── demo2.png
├── demo3.png
└── demoGif.gif
├── _Pods 2.xcodeproj
└── _Pods.xcodeproj
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/.DS_Store
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | osx_image: xcode7.3
6 | language: objective-c
7 | # cache: cocoapods
8 | # podfile: Example/Podfile
9 | # before_install:
10 | # - gem install cocoapods # Since Travis is not always on latest version
11 | # - pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/MCPageViewController.xcworkspace -scheme MCPageViewController-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/Example/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/.DS_Store
--------------------------------------------------------------------------------
/Example/MCPageViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/MCPageViewController.xcodeproj/xcuserdata/mancong.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | MCPageViewController-Example.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Example/MCPageViewController.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/MCPageViewController.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/MCPageViewController.xcworkspace/xcuserdata/MC.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/MCPageViewController.xcworkspace/xcuserdata/MC.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Example/MCPageViewController.xcworkspace/xcuserdata/mancong.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/MCPageViewController.xcworkspace/xcuserdata/mancong.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Example/MCPageViewController/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/MCPageViewController/.DS_Store
--------------------------------------------------------------------------------
/Example/MCPageViewController/Demo/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/MCPageViewController/Demo/.DS_Store
--------------------------------------------------------------------------------
/Example/MCPageViewController/Demo/BasicUse(基本使用&属性设置)/MCBasicUseFiveViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCBasicUseFiveViewController.swift
3 | // MCPageViewController_Example
4 | //
5 | // Created by 满聪 on 2019/6/20.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MCPageViewController
11 |
12 | class MCBasicUseFiveViewController: MCBasicUseViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 |
17 | loadPageViewController()
18 |
19 | initUI()
20 | }
21 |
22 |
23 | func initUI() {
24 |
25 | navigationItem.title = "分类栏在导航栏上"
26 | view.backgroundColor = UIColor.white
27 |
28 | categoryBar.frame = CGRect.init(x: 0, y: 0, width: 300, height: 44)
29 | self.navigationItem.titleView = categoryBar
30 |
31 |
32 | view.addSubview(containerView)
33 | containerView.snp.remakeConstraints { (make) ->Void in
34 | make.edges.equalTo(view)
35 | }
36 | }
37 |
38 | func loadPageViewController() {
39 |
40 | let config = MCPageConfig()
41 |
42 |
43 | config.viewControllers = vcArray
44 | config.categoryModels = modelArray
45 | config.defaultIndex = 0
46 | config.category.maxTitleCount = 10
47 | config.separator.isHidden = true
48 | config.category.itemWidth = 150
49 | config.category.itemSpacing = 0
50 | config.category.barBackgroundColor = UIColor.orange
51 | config.category.itemBackgroundColor = UIColor.yellow
52 |
53 | categoryBar.initCategoryBarWithConfig(config)
54 | containerView.initContainerViewWithConfig(config)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Example/MCPageViewController/Demo/BasicUse(基本使用&属性设置)/MCBasicUseOneViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCBasicUseOneViewController.swift
3 | // MCPageViewController_Example
4 | //
5 | // Created by 满聪 on 2019/6/20.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MCPageViewController
11 |
12 |
13 | class MCBasicUseOneViewController: MCBasicUseViewController {
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 |
18 | loadPageViewController()
19 |
20 | initUI()
21 | }
22 |
23 |
24 | func initUI() {
25 |
26 | navigationItem.title = "简单示例"
27 | view.backgroundColor = UIColor.white
28 |
29 | view.addSubview(categoryBar)
30 | categoryBar.snp.remakeConstraints { (make) ->Void in
31 | make.left.right.top.equalTo(view)
32 | make.height.equalTo(40)
33 | }
34 |
35 |
36 | view.addSubview(containerView)
37 | containerView.snp.remakeConstraints { (make) ->Void in
38 | make.left.right.bottom.equalTo(view)
39 | make.top.equalTo(categoryBar.snp.bottom)
40 | }
41 | }
42 |
43 | func loadPageViewController() {
44 |
45 | let config = MCPageConfig()
46 |
47 | config.viewControllers = vcArray
48 | config.categoryModels = modelArray
49 | config.defaultIndex = 0
50 | config.category.maxTitleCount = 10
51 | config.indicator.height = 20
52 | config.indicator.image = UIImage.init(named: "HOT_bg")
53 | config.isCanScroll = false
54 |
55 |
56 | categoryBar.initCategoryBarWithConfig(config)
57 | containerView.initContainerViewWithConfig(config)
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Example/MCPageViewController/Demo/BasicUse(基本使用&属性设置)/MCBasicUseSixViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCBasicUseSixViewController.swift
3 | // MCPageViewController_Example
4 | //
5 | // Created by 满聪 on 2019/6/20.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MCPageViewController
11 |
12 |
13 | class MCBasicUseSixViewController : MCBasicUseViewController {
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 |
18 | loadPageViewController()
19 |
20 | initUI()
21 | }
22 |
23 |
24 | func initUI() {
25 |
26 | navigationItem.title = "指示器的设置"
27 | view.backgroundColor = UIColor.white
28 |
29 | view.addSubview(categoryBar)
30 | categoryBar.snp.remakeConstraints { (make) ->Void in
31 | make.left.right.top.equalTo(view)
32 | make.height.equalTo(40)
33 | }
34 |
35 |
36 | view.addSubview(containerView)
37 | containerView.snp.remakeConstraints { (make) ->Void in
38 | make.left.right.bottom.equalTo(view)
39 | make.top.equalTo(categoryBar.snp.bottom)
40 | }
41 | }
42 |
43 | func loadPageViewController() {
44 |
45 | let config = MCPageConfig()
46 |
47 | config.viewControllers = vcArray
48 | config.categoryModels = modelArray
49 |
50 |
51 | config.indicator.isHidden = false
52 | config.indicator.backgroundColor = UIColor.red
53 | config.indicator.height = 4
54 | config.indicator.cornerRadius = 2
55 |
56 | // config.indicator.width = 30
57 |
58 | categoryBar.initCategoryBarWithConfig(config)
59 | containerView.initContainerViewWithConfig(config)
60 | }
61 | }
62 |
63 |
--------------------------------------------------------------------------------
/Example/MCPageViewController/Demo/BasicUse(基本使用&属性设置)/MCBasicUseThreeViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCBasicUseThreeViewController.swift
3 | // MCPageViewController_Example
4 | //
5 | // Created by 满聪 on 2019/6/20.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MCPageViewController
11 |
12 | class MCBasicUseThreeViewController: MCBasicUseViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 |
17 | loadPageViewController()
18 |
19 | initUI()
20 | }
21 |
22 | func initUI() {
23 |
24 | navigationItem.title = "设置分割线"
25 | view.backgroundColor = UIColor.white
26 |
27 | view.addSubview(categoryBar)
28 | categoryBar.snp.remakeConstraints { (make) ->Void in
29 | make.left.right.top.equalTo(view)
30 | make.height.equalTo(40)
31 | }
32 |
33 |
34 | view.addSubview(containerView)
35 | containerView.snp.remakeConstraints { (make) ->Void in
36 | make.left.right.bottom.equalTo(view)
37 | make.top.equalTo(categoryBar.snp.bottom)
38 | }
39 | }
40 |
41 | func loadPageViewController() {
42 |
43 | let config = MCPageConfig()
44 |
45 | config.viewControllers = vcArray
46 | config.categoryModels = modelArray
47 |
48 | config.separator.backgroundColor = UIColor.red
49 | config.separator.height = 5
50 |
51 |
52 | categoryBar.initCategoryBarWithConfig(config)
53 | containerView.initContainerViewWithConfig(config)
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/Example/MCPageViewController/Demo/SlidingSuspension(滑动悬挂)/NextViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NextViewController.swift
3 | // MCPageViewController
4 | //
5 | // Created by MC on 2018/11/6.
6 | // Copyright © 2018年 MC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class NextViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | title = "跳转的页面"
17 |
18 | view.backgroundColor = UIColor.green
19 | // Do any additional setup after loading the view.
20 | }
21 |
22 | override func didReceiveMemoryWarning() {
23 | super.didReceiveMemoryWarning()
24 | // Dispose of any resources that can be recreated.
25 | }
26 |
27 |
28 | override func touchesBegan(_ touches: Set, with event: UIEvent?) {
29 | self.dismiss(animated: true, completion: nil)
30 | }
31 |
32 | /*
33 | // MARK: - Navigation
34 |
35 | // In a storyboard-based application, you will often want to do a little preparation before navigation
36 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
37 | // Get the new view controller using segue.destinationViewController.
38 | // Pass the selected object to the new view controller.
39 | }
40 | */
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/Example/MCPageViewController/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ios-marketing",
45 | "size" : "1024x1024",
46 | "scale" : "1x"
47 | }
48 | ],
49 | "info" : {
50 | "version" : 1,
51 | "author" : "xcode"
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Example/MCPageViewController/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Example/MCPageViewController/Images.xcassets/HOT_bg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "HOT.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Example/MCPageViewController/Images.xcassets/HOT_bg.imageset/HOT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/MCPageViewController/Images.xcassets/HOT_bg.imageset/HOT.png
--------------------------------------------------------------------------------
/Example/MCPageViewController/Images.xcassets/hot.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "hot.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Example/MCPageViewController/Images.xcassets/hot.imageset/hot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/MCPageViewController/Images.xcassets/hot.imageset/hot.png
--------------------------------------------------------------------------------
/Example/MCPageViewController/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | PageViewController
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | LSRequiresIPhoneOS
26 |
27 | UILaunchStoryboardName
28 | LaunchScreen
29 | UIMainStoryboardFile
30 | Main
31 | UIRequiredDeviceCapabilities
32 |
33 | armv7
34 |
35 | UISupportedInterfaceOrientations
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationLandscapeLeft
39 |
40 | NSAppTransportSecurity
41 |
42 | NSAllowsArbitraryLoads
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 |
2 | source 'https://github.com/CocoaPods/Specs.git' #官方仓库地址
3 | source 'https://gitee.com/mancong/MyPublicRepo.git'
4 |
5 | use_frameworks!
6 |
7 | target 'MCPageViewController_Example' do
8 | pod 'MCPageViewController', :path => '../'
9 |
10 | pod 'SnapKit'
11 | pod 'MJRefresh'
12 |
13 | # ==============扩展库
14 | pod 'MCComponentExtension', '0.8.0'
15 | pod 'MCComponentPublicUI', '~> 0.8.0'
16 | pod 'MCComponentFunction', '0.8.2'
17 |
18 |
19 | target 'MCPageViewController_Tests' do
20 | inherit! :search_paths
21 |
22 |
23 | end
24 | end
25 |
--------------------------------------------------------------------------------
/Example/Pods/Alamofire/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Alamofire Software Foundation (http://alamofire.org/)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Alamofire.swift
3 | //
4 | // Copyright (c) 2014 Alamofire Software Foundation (http://alamofire.org/)
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 | //
24 |
25 | import Dispatch
26 | import Foundation
27 |
28 | extension DispatchQueue {
29 | static var userInteractive: DispatchQueue { return DispatchQueue.global(qos: .userInteractive) }
30 | static var userInitiated: DispatchQueue { return DispatchQueue.global(qos: .userInitiated) }
31 | static var utility: DispatchQueue { return DispatchQueue.global(qos: .utility) }
32 | static var background: DispatchQueue { return DispatchQueue.global(qos: .background) }
33 |
34 | func after(_ delay: TimeInterval, execute closure: @escaping () -> Void) {
35 | asyncAfter(deadline: .now() + delay, execute: closure)
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Example/Pods/Kingfisher/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2018 Wei Wang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/Example/Pods/Kingfisher/Sources/Box.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Box.swift
3 | // Kingfisher
4 | //
5 | // Created by Wei Wang on 2018/3/17.
6 | // Copyright (c) 2018 Wei Wang
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in
16 | // all copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | // THE SOFTWARE.
25 |
26 | import Foundation
27 |
28 | class Box {
29 | let value: T
30 |
31 | init(_ value: T) {
32 | self.value = value
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Example/Pods/Kingfisher/Sources/Kingfisher.h:
--------------------------------------------------------------------------------
1 | //
2 | // Kingfisher.h
3 | // Kingfisher
4 | //
5 | // Created by Wei Wang on 15/4/6.
6 | //
7 | // Copyright (c) 2018 Wei Wang
8 | //
9 | // Permission is hereby granted, free of charge, to any person obtaining a copy
10 | // of this software and associated documentation files (the "Software"), to deal
11 | // in the Software without restriction, including without limitation the rights
12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | // copies of the Software, and to permit persons to whom the Software is
14 | // furnished to do so, subject to the following conditions:
15 | //
16 | // The above copyright notice and this permission notice shall be included in
17 | // all copies or substantial portions of the Software.
18 | //
19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | // THE SOFTWARE.
26 |
27 | #import
28 |
29 | //! Project version number for Kingfisher.
30 | FOUNDATION_EXPORT double KingfisherVersionNumber;
31 |
32 | //! Project version string for Kingfisher.
33 | FOUNDATION_EXPORT const unsigned char KingfisherVersionString[];
34 |
35 | // In this header, you should import all the public headers of your framework using statements like #import
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Example/Pods/Kingfisher/Sources/RequestModifier.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RequestModifier.swift
3 | // Kingfisher
4 | //
5 | // Created by Wei Wang on 2016/09/05.
6 | //
7 | // Copyright (c) 2018 Wei Wang
8 | //
9 | // Permission is hereby granted, free of charge, to any person obtaining a copy
10 | // of this software and associated documentation files (the "Software"), to deal
11 | // in the Software without restriction, including without limitation the rights
12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | // copies of the Software, and to permit persons to whom the Software is
14 | // furnished to do so, subject to the following conditions:
15 | //
16 | // The above copyright notice and this permission notice shall be included in
17 | // all copies or substantial portions of the Software.
18 | //
19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | // THE SOFTWARE.
26 |
27 | import Foundation
28 |
29 | /// Request modifier of image downloader.
30 | public protocol ImageDownloadRequestModifier {
31 | func modified(for request: URLRequest) -> URLRequest?
32 | }
33 |
34 | struct NoModifier: ImageDownloadRequestModifier {
35 | static let `default` = NoModifier()
36 | private init() {}
37 | func modified(for request: URLRequest) -> URLRequest? {
38 | return request
39 | }
40 | }
41 |
42 | public struct AnyModifier: ImageDownloadRequestModifier {
43 |
44 | let block: (URLRequest) -> URLRequest?
45 |
46 | public func modified(for request: URLRequest) -> URLRequest? {
47 | return block(request)
48 | }
49 |
50 | public init(modify: @escaping (URLRequest) -> URLRequest? ) {
51 | block = modify
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Example/Pods/Kingfisher/Sources/ThreadHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ThreadHelper.swift
3 | // Kingfisher
4 | //
5 | // Created by Wei Wang on 15/10/9.
6 | //
7 | // Copyright (c) 2018 Wei Wang
8 | //
9 | // Permission is hereby granted, free of charge, to any person obtaining a copy
10 | // of this software and associated documentation files (the "Software"), to deal
11 | // in the Software without restriction, including without limitation the rights
12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | // copies of the Software, and to permit persons to whom the Software is
14 | // furnished to do so, subject to the following conditions:
15 | //
16 | // The above copyright notice and this permission notice shall be included in
17 | // all copies or substantial portions of the Software.
18 | //
19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | // THE SOFTWARE.
26 |
27 | import Foundation
28 |
29 | extension DispatchQueue {
30 | // This method will dispatch the `block` to self.
31 | // If `self` is the main queue, and current thread is main thread, the block
32 | // will be invoked immediately instead of being dispatched.
33 | func safeAsync(_ block: @escaping ()->()) {
34 | if self === DispatchQueue.main && Thread.isMainThread {
35 | block()
36 | } else {
37 | async { block() }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/MCPageViewController.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MCPageViewController",
3 | "version": "5.4.3",
4 | "summary": "分页控制器: 支持分类栏在navigationBar上,滑动置顶等功能。",
5 | "homepage": "https://github.com/mancongiOS/MCPageViewController",
6 | "license": "MIT",
7 | "authors": {
8 | "MC": "562863544@qq.com"
9 | },
10 | "platforms": {
11 | "ios": "8.0"
12 | },
13 | "source": {
14 | "git": "https://github.com/mancongiOS/MCPageViewController.git",
15 | "tag": "5.4.3"
16 | },
17 | "source_files": "MCPageViewController/Classes/**/*",
18 | "swift_versions": "5.0",
19 | "dependencies": {
20 | "SnapKit": [
21 |
22 | ]
23 | },
24 | "swift_version": "5.0"
25 | }
26 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2018 mancongiOS
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Assets/UIImage/PlaceHolderImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentExtension/MCComponentExtension/Assets/UIImage/PlaceHolderImage@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Assets/UIImage/PlaceHolderImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentExtension/MCComponentExtension/Assets/UIImage/PlaceHolderImage@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/Array+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Array+Extension.swift
3 | // GMJKExtension
4 | //
5 | // Created by 满聪 on 2019/7/31.
6 | // 参考至: EFSafeArray created of EyreFree
7 |
8 | import Foundation
9 |
10 | // ~
11 | postfix operator ~
12 |
13 | public postfix func ~ (value: Int?) -> JKSafeArray? {
14 | return JKSafeArray(value: value)
15 | }
16 |
17 | public postfix func ~ (value: Range?) -> JKSafeRange? {
18 | return JKSafeRange(value: value)
19 | }
20 |
21 | public postfix func ~ (value: CountableClosedRange?) -> JKSafeRange? {
22 | guard let value = value else {
23 | return nil
24 | }
25 | return JKSafeRange(value: Range(value))
26 | }
27 |
28 | // Struct
29 | public struct JKSafeArray {
30 | var index: Int
31 | init?(value: Int?) {
32 | guard let value = value else {
33 | return nil
34 | }
35 | self.index = value
36 | }
37 | }
38 |
39 | public struct JKSafeRange {
40 | var range: Range
41 | init?(value: Range?) {
42 | guard let value = value else {
43 | return nil
44 | }
45 | self.range = value
46 | }
47 | }
48 |
49 | // subscript
50 | public extension Array {
51 |
52 |
53 | /// 单个
54 | subscript(index: JKSafeArray?) -> Element? {
55 | get {
56 | if let index = index?.index {
57 | return (self.startIndex.. ArraySlice? {
72 | get {
73 | if let range = bounds?.range {
74 | return self[range.clamped(to: self.startIndex ..< self.endIndex)]
75 | }
76 | return nil
77 | }
78 | set {
79 | if let range = bounds?.range, let newValue = newValue {
80 | self[range.clamped(to: self.startIndex ..< self.endIndex)] = newValue
81 | }
82 | }
83 | }
84 | }
85 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/Bundle+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Bundle+Extension.swift
3 | // MCAPI
4 | //
5 | // Created by MC on 2018/11/26.
6 | //
7 |
8 | import Foundation
9 | import UIKit
10 |
11 |
12 | @objc extension Bundle {
13 |
14 | /**
15 | * 加载指定bundle下的图片资源
16 | * 在哪个pod下的哪个bundle下的image
17 | */
18 | public static func mc_loadImage(_ imageName: String, from bundleName: String, in podName: String) -> UIImage? {
19 |
20 |
21 | var associateBundleURL = Bundle.main.url(forResource: "Frameworks", withExtension: nil)
22 | associateBundleURL = associateBundleURL?.appendingPathComponent(podName)
23 | associateBundleURL = associateBundleURL?.appendingPathExtension("framework")
24 |
25 |
26 | if associateBundleURL == nil {
27 | print("获取bundle失败")
28 | return nil
29 | }
30 |
31 |
32 | let associateBunle = Bundle.init(url: associateBundleURL!)
33 | associateBundleURL = associateBunle?.url(forResource: bundleName, withExtension: "bundle")
34 |
35 | if associateBundleURL != nil {
36 | let bundle = Bundle.init(url: associateBundleURL!)
37 | let scale = Int(UIScreen.main.scale)
38 |
39 | // 适配2x还是3x图片
40 | let name = imageName + "@" + String(scale) + "x"
41 | let path = bundle?.path(forResource: name, ofType: "png")
42 |
43 | if path == nil {
44 | print("获取bundle失败")
45 | return nil
46 | }
47 | let image1 = UIImage.init(contentsOfFile: path!)
48 | return image1
49 |
50 | } else {
51 | return nil
52 | }
53 |
54 |
55 |
56 | }
57 | }
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/DispatchQueue+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extension.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2018/12/20.
6 | //
7 |
8 | import Foundation
9 |
10 |
11 |
12 | extension DispatchTime: ExpressibleByIntegerLiteral {
13 | public init(integerLiteral value: Int) {
14 | self = DispatchTime.now() + .seconds(value)
15 | }
16 | }
17 |
18 | extension DispatchTime: ExpressibleByFloatLiteral {
19 | public init(floatLiteral value: Double) {
20 | self = DispatchTime.now() + .milliseconds(Int(value * 1000))
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/Extension+NotificationCenter.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Extension+NotificationCenter.swift
3 | // CityPlatform
4 | //
5 | // Created by GY on 2018/12/21.
6 | // Copyright © 2018年 MC. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 |
13 | /// 可继续扩展
14 | extension Notification.Name {
15 |
16 | /// 通知名的前缀, 请拼接上去,防止重复
17 | public static let notName = "MC.Notification.Name."
18 |
19 | /// 接收到远程推送
20 | public static let remotePush = Notification.Name(notName + "remotePush")
21 |
22 | /// 重新登录
23 | public static let reLogin = NSNotification.Name(notName + "reLogin")
24 |
25 | /// 登陆/退出
26 | public static let login = NSNotification.Name(notName + "login")
27 | }
28 |
29 |
30 |
31 |
32 |
33 |
34 | extension NotificationCenter {
35 |
36 | public static let shared = NotificationCenter.default
37 |
38 |
39 | /// 发送通知
40 | public func mc_post(_ name: Notification.Name, object: Any? = nil) {
41 |
42 | NotificationCenter.default.post(name: name, object: object, userInfo: nil)
43 | }
44 |
45 | /// 监听通知
46 | public func mc_addObserver(_ name: Notification.Name, vc: Any, selector: Selector, object: Any? = nil) {
47 | NotificationCenter.default.addObserver(vc, selector: selector, name: name, object: object)
48 | }
49 |
50 | /// 移除通知
51 | public func mc_remove(_ name: Notification.Name,vc: Any, object: Any? = nil) {
52 | NotificationCenter.default.removeObserver(vc, name: name, object: object)
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/Int+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Int+Extension.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2018/12/14.
6 | //
7 |
8 | import UIKit
9 |
10 |
11 | extension Int {
12 |
13 | /// Int类型的分,转为元为单位的
14 | ///
15 | /// - Parameters:
16 | /// - isNeedUnit: 是否需要¥单位
17 | /// - Returns: String
18 | public func toYuanRMB(_ isNeedUnit:Bool = true) -> String {
19 |
20 | // 分为单位
21 | let figure = self
22 |
23 |
24 | let price = CGFloat(figure)
25 | let price1 = String(format: "%.2f", CGFloat(figure)/100)
26 | var price2 = String(format: "%.2f", CGFloat(figure)/100)
27 | let indexOne = price1.index(price1.endIndex, offsetBy: -1)
28 | let lastOne = price1.suffix(from: indexOne)
29 | let indexTwo = price1.index(price1.endIndex, offsetBy: -2)
30 | let lastTwo = price1.suffix(from: indexTwo)
31 | if lastOne == "0" {
32 | price2 = String.init(format: "%.1f", price/100)
33 | }
34 | if lastTwo == "00" {
35 | price2 = String.init(format: "%.0f", price/100)
36 | }
37 |
38 | return isNeedUnit ? ("¥" + price2) : price2
39 | }
40 | }
41 |
42 | //MARK: 类型转换
43 | extension Int {
44 |
45 | /**
46 | * Int -> 字符串
47 | */
48 | public var stringValue: String {
49 | get {
50 | return String(self)
51 | }
52 | }
53 |
54 |
55 | /**
56 | * Int -> Float
57 | */
58 | public var folatValue: Float {
59 | get {
60 | return Float(self)
61 | }
62 | }
63 |
64 | /**
65 | * Int -> Double
66 | */
67 | public var doubleValue: Double {
68 | get {
69 | return Double(self)
70 | }
71 | }
72 |
73 |
74 | /**
75 | * Int -> NSNumber
76 | */
77 | public var numberValue: NSNumber {
78 | get {
79 | return NSNumber.init(value: self)
80 | }
81 | }
82 |
83 | }
84 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/UIView+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+Extension.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2019/1/11.
6 | //
7 |
8 | import Foundation
9 |
10 | extension UIView {
11 | /**
12 | * 将一个UIView视图转为图片
13 | */
14 | public func mc_makeImage() -> UIImage {
15 | let size = self.bounds.size
16 |
17 | /**
18 | * 第一个参数表示区域大小。
19 | 第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。
20 | 第三个参数就是屏幕密度了
21 | */
22 | UIGraphicsBeginImageContextWithOptions(size, true, UIScreen.main.scale)
23 | self.layer.render(in: UIGraphicsGetCurrentContext()!)
24 | let image = UIGraphicsGetImageFromCurrentImageContext()
25 | UIGraphicsEndImageContext()
26 | return image!
27 | }
28 | }
29 |
30 |
31 | extension UIView {
32 | /**
33 | * 通过贝塞尔曲线,裁切四个边的任意几个的圆角
34 | */
35 | public func mc_clipCorners(_ corner:UIRectCorner, cornerRadii:CGSize) {
36 |
37 | let maskPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corner, cornerRadii: cornerRadii)
38 | let maskLayer = CAShapeLayer()
39 | maskLayer.frame = self.bounds
40 | maskLayer.path = maskPath.cgPath
41 | self.layer.mask = maskLayer
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/MCComponentExtension/Classes/UserDefaults+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UserDefaults+Extension.swift
3 | // MCAPI
4 | //
5 | // Created by MC on 2018/11/26.
6 | //
7 |
8 | import Foundation
9 |
10 | import UIKit
11 | public extension UserDefaults {
12 |
13 |
14 | /**
15 | * 版本信息
16 | */
17 | struct Version : UserDefaultsSettable {
18 | public enum defaultKeys: String {
19 | case version
20 | case build
21 | }
22 | }
23 |
24 | /**
25 | * 地理位置信息
26 | */
27 | struct LocationInfo: UserDefaultsSettable {
28 | public enum defaultKeys: String {
29 | case latitude
30 | case longitude
31 | case country
32 | case province
33 | case city
34 | case area
35 | /// 详细地址
36 | case detail
37 | /// 全路径地址
38 | case address
39 | }
40 | }
41 |
42 |
43 |
44 |
45 | }
46 |
47 |
48 |
49 |
50 | public protocol UserDefaultsSettable {
51 | associatedtype defaultKeys: RawRepresentable
52 | }
53 |
54 | extension UserDefaultsSettable where defaultKeys.RawValue==String {
55 | static public func set(value: Any, forKey key: defaultKeys) {
56 | let aKey = key.rawValue
57 | UserDefaults.standard.set(value, forKey: aKey)
58 | }
59 |
60 |
61 | static public func getString(forKey key: defaultKeys) -> String? {
62 | let aKey = key.rawValue
63 | let value = UserDefaults.standard.string(forKey: aKey)
64 | return value
65 | }
66 |
67 | static public func getArray(forKey key: defaultKeys) -> [Any]? {
68 | let aKey = key.rawValue
69 |
70 | let value = UserDefaults.standard.array(forKey: aKey)
71 |
72 | return value
73 | }
74 |
75 | static public func getDictionary(forKey key: defaultKeys) -> [String:Any]? {
76 | let aKey = key.rawValue
77 |
78 | let value = UserDefaults.standard.dictionary(forKey: aKey)
79 | return value
80 | }
81 | }
82 |
83 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentExtension/README.md:
--------------------------------------------------------------------------------
1 | # iOS_Component_extension
2 |
3 | #### 项目介绍
4 | 组件化--常用扩展
5 |
6 | #### 软件架构
7 | 软件架构说明
8 |
9 |
10 | #### 安装教程
11 |
12 | 1. xxxx
13 | 2. xxxx
14 | 3. xxxx
15 |
16 | #### 使用说明
17 |
18 | 1. xxxx
19 | 2. xxxx
20 | 3. xxxx
21 |
22 | #### 参与贡献
23 |
24 | 1. Fork 本项目
25 | 2. 新建 Feat_xxx 分支
26 | 3. 提交代码
27 | 4. 新建 Pull Request
28 |
29 |
30 | #### 码云特技
31 |
32 | 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
33 | 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
34 | 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
35 | 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
36 | 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
37 | 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 562863544@qq.com <13761066392@163.com>
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_not_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_not_selected@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_not_selected@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_not_selected@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_selected@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_selected@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/PhotoLibrary/image_selected@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Scan/Scan_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Scan/Scan_back.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Scan/Scan_scanning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Scan/Scan_scanning.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_failure@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_failure@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_failure@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_failure@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_other@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_other@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_other@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_other@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_success@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_success@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_success@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_success@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_wait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_wait@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_wait@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_wait@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_warning@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_warning@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_warning@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentFunction/MCComponentFunction/Assets/Toast/toast_warning@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/AppStore/MCAppStore.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCAppStore.swift
3 | // Alamofire
4 | //
5 | // Created by MC on 2018/12/25.
6 | //
7 |
8 | import Foundation
9 |
10 | public class MCAppStore: NSObject {
11 |
12 | public static let shared = MCAppStore.init()
13 |
14 | /**
15 | * 去App Store评分
16 | * @param AppID: app的Id
17 | */
18 | public func mc_toScore(_ AppID: String) {
19 | let urlStr = "itms-apps://itunes.apple.com/app/id\(AppID)?action=write-review"
20 | UIApplication.shared.openURL(URL.init(string: urlStr)!)
21 | }
22 |
23 | /**
24 | * 去App Store下载
25 | */
26 |
27 | public func mc_toUpdate(_ AppID: String) {
28 |
29 | let urlStr = "itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=\(AppID)"
30 | UIApplication.shared.openURL(URL.init(string: urlStr)!)
31 | }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/MCDatePicker/MCDateManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCDateManager.swift
3 | // MCAPI
4 | //
5 | // Created by MC on 2018/8/15.
6 | // Copyright © 2018年 MC. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 |
12 | /**
13 | * 根据时间格式将字符串 -> 时间类
14 | * 默认时间格式:yyyy-MM-dd
15 | */
16 | public func MCDateManager_getDateFromString(_ dateString:String,dateFormat:String = "yyyy-MM-dd") -> Date {
17 | let dateFormatter = DateFormatter.init()
18 | // dateFormatter.locale = Locale.init(identifier: "zh_CN")
19 | dateFormatter.dateFormat = dateFormat
20 | let date = dateFormatter.date(from: dateString)!
21 | return date
22 | }
23 |
24 |
25 | /**
26 | * 根据时间格式将时间类 -> 字符串
27 | * 默认时间格式:yyyy-MM-dd HH:mm:ss
28 | */
29 | public func MCDateManager_getTimeStrFromDate (_ date:Date,dateFormat:String = "yyyy-MM-dd") -> String {
30 | // let localDate = MCDateManager_getLocalDateFromWorldDate(date)
31 | let dateFormatter = DateFormatter.init()
32 | dateFormatter.dateFormat = dateFormat
33 | let str = dateFormatter.string(from: date)
34 | return str
35 | }
36 |
37 |
38 |
39 | /**
40 | * 获取日期的年月日对象
41 | */
42 | public func MCDateManager_getDateComponents(date:Date) -> DateComponents {
43 | let calendar = Calendar.current
44 | let unit:Set = [.year,.month,.day]
45 | let components = calendar.dateComponents(unit, from: date)
46 | return components
47 | }
48 |
49 |
50 | /**
51 | * 世界时间转为本地时间
52 | */
53 | public func MCDateManager_getLocalDateFromWorldDate(_ date:Date) -> Date {
54 | let localTimeZone = TimeZone.current
55 | let offset = localTimeZone.secondsFromGMT(for: date)
56 | let localDate = date.addingTimeInterval(Double(offset))
57 | return localDate
58 | }
59 |
60 |
61 | /**
62 | * 比较两个时间大小
63 | * one < two的情况return -1 ||||
64 | * one = two的情况return 0 ||||
65 | * one > two的情况teturn 1 ||||
66 | */
67 | public func MCDateManager_compareTwoDate(one:Date,two:Date) -> Int {
68 | if one.compare(two) == .orderedAscending { // 升序
69 | return -1
70 | }
71 |
72 | if one.compare(two) == .orderedSame { // 相等
73 | return 0
74 | }
75 |
76 | if one.compare(two) == .orderedDescending { // 降序
77 | return 1
78 | }
79 |
80 | return 0
81 | }
82 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/MCKingfisher/UIImageView+Kingfisher.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImageView+Kingfisher.swift
3 | // MCComponentExtension
4 | //
5 | // Created by 满聪 on 2019/5/24.
6 | //
7 |
8 | import Foundation
9 |
10 | import Kingfisher
11 |
12 |
13 | extension UIImageView {
14 |
15 | /// 加载网络图片
16 | ///
17 | /// - Parameters:
18 | /// - urlString: 图片url字符串
19 | /// - placeholder: 占位图
20 | /// - complete: 返回加载的Image的闭包
21 | public func mc_setImage(with urlString: String?, placeholder: UIImage?, complete: ((_ image: UIImage?) -> ())? = nil) {
22 |
23 | guard let urlString = urlString,
24 | let url = URL(string: urlString) else {
25 | self.image = placeholder
26 | return
27 | }
28 |
29 | self.kf.setImage(with: url, placeholder: placeholder) { (image, _, _, _) in
30 |
31 | if complete != nil {
32 | complete!(image)
33 | }
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/MCNetwork/MCNetworkManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCNetworkManager.swift
3 | // MCAPI
4 | //
5 | // Created by MC on 2018/10/23.
6 | // Copyright © 2018年 MC. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import Alamofire
11 |
12 |
13 | public class MCNetworkManager {
14 | // 网络监听
15 | //shared instance
16 | public static let shared = MCNetworkManager()
17 |
18 | private let reachabilityManager = Alamofire.NetworkReachabilityManager(host: "www.apple.com")
19 |
20 | public typealias RespnseClosure = (MCNetworkStatus) -> Void
21 | public func startNetworkReachabilityObserver(response:@escaping RespnseClosure) {
22 |
23 | reachabilityManager?.listener = { status in
24 | switch status {
25 |
26 | case .notReachable:
27 | response(.notReachable)
28 | case .unknown :
29 | response(.unknown)
30 |
31 | case .reachable(.ethernetOrWiFi):
32 | response(.WIFI)
33 |
34 | case .reachable(.wwan):
35 | response(.WWAN)
36 | }
37 | }
38 |
39 | // start listening
40 | reachabilityManager?.startListening()
41 | }
42 | // 销毁
43 | deinit {
44 | reachabilityManager?.stopListening()
45 | }
46 | }
47 |
48 | public enum MCNetworkStatus {
49 | case notReachable
50 | case unknown
51 | case WIFI
52 | case WWAN
53 | }
54 |
55 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/MCRefresh/UIScrollView+MJRefresh.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIScrollView+MJRefresh.swift
3 | // Kingfisher
4 | //
5 | // Created by 满聪 on 2019/5/24.
6 | //
7 |
8 | import Foundation
9 |
10 |
11 | import MCComponentExtension
12 | import MJRefresh
13 |
14 |
15 | // TODO: - MJRefresh 方法封装
16 | extension UIScrollView {
17 |
18 | /// 添加下拉刷新控件
19 | public func mc_header(refreshingBlock: @escaping (() -> ())) {
20 | self.mj_header = MJRefreshNormalHeader.init(refreshingBlock: refreshingBlock)
21 | }
22 |
23 | /// 停止下拉刷新
24 | public func mc_headerEnd() {
25 | self.mj_header.endRefreshing()
26 | }
27 |
28 |
29 | /// 添加上拉加载控件
30 | public func mc_footer(refreshingBlock: @escaping (() -> ())) {
31 | let footer = MJRefreshBackGifFooter.init(refreshingBlock: refreshingBlock)
32 | footer?.stateLabel.textColor = UIColor.mc_lightGray
33 | footer?.stateLabel.font = UIFont.mc15
34 | footer?.setTitle(" 已经到底了 ", for: .noMoreData)
35 | self.mj_footer = footer
36 | }
37 |
38 | /// 停止上拉加载
39 | public func mc_footerEnd() {
40 |
41 | self.mj_footer.endRefreshing()
42 | }
43 |
44 | /// 显示没有更多数据
45 | public func mc_footerNoMoreData() {
46 | self.mj_footer.endRefreshingWithNoMoreData()
47 | }
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/PhotoLibrary/MCPhotoLibraryHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCPhotoLibraryHelper.swift
3 | // MCComponentFunction_Example
4 | //
5 | // Created by 满聪 on 2019/7/4.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import Foundation
11 | public class MCPhotoLibraryHelper: NSObject {
12 |
13 |
14 | /// 打开自定义的相册
15 | ///
16 | /// - Parameters:
17 | /// - target: 目标控制器,用来做页面跳转
18 | /// - maxSelectCount: 最大选择图片数量
19 | /// - completeHandler: 回调,图片数组
20 | public static func open(target: UIViewController, maxSelectCount: Int = Int.max, completeHandler:((_ images:[UIImage])->())?) {
21 |
22 | let vc = MCPhotoLibraryListViewController()
23 | vc.maxSelected = maxSelectCount
24 | vc.completeHandler = completeHandler
25 |
26 | let nav = UINavigationController.init(rootViewController: vc)
27 | target.present(nav, animated: true, completion: nil)
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/PhotoLibrary/PhotoLibraryDetail/MCPhotoLibraryDetailModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCPhotoLibraryDetailModel.swift
3 | // Alamofire
4 | //
5 | // Created by 满聪 on 2019/7/4.
6 | //
7 |
8 | import UIKit
9 |
10 | import Photos
11 | class MCPhotoLibraryDetailModel: NSObject {
12 |
13 | /// 资源
14 | @objc var asset: PHAsset = PHAsset.init()
15 |
16 | /// 是否选中
17 | @objc var isSelected: Bool = false
18 |
19 | /// 第几个选中的
20 | @objc var selectIndex: Int = 0
21 |
22 |
23 | override func setValue(_ value: Any?, forUndefinedKey key: String) { }
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Route/MCBaseViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCBaseViewController.swift
3 | // Alamofire
4 | //
5 | // Created by MC on 2018/12/6.
6 | //
7 |
8 | import UIKit
9 |
10 | /**
11 | 所有视图控制器的父类
12 | */
13 | /**
14 | 所有视图控制器的父类
15 | */
16 | open class MCBaseViewController: UIViewController {
17 |
18 |
19 | /**
20 | * 是否隐藏导航栏上的那条黑线
21 | */
22 | public var mc_isHiddenNavigationBarLine = false {
23 | didSet{
24 | navBarHairLine = mc_findLineImageView(under: navigationController?.navigationBar)
25 | }
26 | }
27 |
28 |
29 |
30 | private var navBarHairLine : UIImageView?
31 |
32 | override open func viewWillAppear(_ animated: Bool) {
33 | super.viewWillAppear(animated)
34 |
35 | navBarHairLine?.isHidden = true
36 | }
37 |
38 | override open func viewWillDisappear(_ animated: Bool) {
39 | super.viewWillDisappear(animated)
40 | navBarHairLine?.isHidden = false
41 | }
42 |
43 | override open func viewDidLoad() {
44 | super.viewDidLoad()
45 |
46 | view.backgroundColor = UIColor.white
47 | }
48 | }
49 |
50 |
51 |
52 | extension MCBaseViewController {
53 | /**
54 | * 寻找导航栏下面的黑色细线
55 | */
56 | public func mc_findLineImageView(under view : UIView?) -> UIImageView? {
57 |
58 | if view == nil { return nil }
59 | if view!.isKind(of: UIImageView.classForCoder()) && view!.bounds.size.height <= 1 {
60 | return view as? UIImageView
61 | }
62 | for subView in view!.subviews {
63 | let imageView : UIImageView? = mc_findLineImageView(under: subView)
64 | if imageView != nil {
65 | return imageView!
66 | }
67 | }
68 | return nil
69 | }
70 | }
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Route/MCErrorViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCErrorViewController.swift
3 | // MCAPI
4 | //
5 | // Created by MC on 2018/11/26.
6 | // Copyright © 2018 MC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | public class MCErrorViewController: UIViewController {
12 |
13 | var errorView : UIView? = nil
14 |
15 | override public func viewDidLoad() {
16 | super.viewDidLoad()
17 | if errorView != nil {
18 | self.view .addSubview(errorView!)
19 | }
20 | }
21 |
22 |
23 |
24 | /*
25 | // MARK: - Navigation
26 |
27 | // In a storyboard-based application, you will often want to do a little preparation before navigation
28 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
29 | // Get the new view controller using segue.destinationViewController.
30 | // Pass the selected object to the new view controller.
31 | }
32 | */
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Route/MCNavigationController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCNavigationController.swift
3 | // WisdomSpace
4 | //
5 | // Created by goulela on 2017/8/29.
6 | // Copyright © 2017年 MC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | public class MCNavigationController: UINavigationController, UIGestureRecognizerDelegate, UINavigationControllerDelegate {
12 |
13 | override public func viewDidLoad() {
14 | super.viewDidLoad()
15 | delegate = self
16 | self.hidesBarsOnTap = false
17 | weak var weakSelf = self
18 | if responds(to: #selector(getter: interactivePopGestureRecognizer)) {
19 | interactivePopGestureRecognizer?.delegate = weakSelf
20 | }
21 | setup()
22 | }
23 |
24 | private func setup() {
25 | navigationBar.isTranslucent = false
26 | }
27 |
28 | override public func pushViewController(_ viewController: UIViewController, animated: Bool) {
29 | super.pushViewController(viewController, animated: animated)
30 | if navigationBar.isHidden {
31 | setNavigationBarHidden(false, animated: false)
32 | }
33 |
34 | if responds(to: #selector(getter: interactivePopGestureRecognizer)) {
35 | interactivePopGestureRecognizer?.isEnabled = false
36 | }
37 | }
38 |
39 | public func navigationController(_ navigationController: UINavigationController, didShow viewController: UIViewController, animated: Bool) {
40 | if navigationController.responds(to: #selector(getter: interactivePopGestureRecognizer)) {
41 | navigationController.interactivePopGestureRecognizer?.isEnabled = true
42 | }
43 | }
44 |
45 | public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
46 | if children.count == 1 {
47 | return false
48 | }
49 | return true
50 | }
51 | }
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Route/MCRoute+Main.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCRoute+Main.swift
3 | // MCAPI
4 | //
5 | // Created by MC on 2018/11/26.
6 | //
7 |
8 | import Foundation
9 | import UIKit
10 |
11 | extension MCRoute {
12 |
13 | public func initRootController(subControllers:[UIViewController]) -> UITabBarController {
14 | let view = UIView(frame: UIScreen.main.bounds)
15 | view.backgroundColor = UIColor.lightGray
16 | configErrorController(view)
17 | tabBar = MCTabBarController(subControllers: subControllers)
18 | configRootController(tabBar!)
19 | return tabBar!
20 | }
21 |
22 |
23 | public static func setupItem(_ title: String,
24 | _ image: UIImage?,
25 | _ selectedImage: UIImage?,
26 | _ titleNormalColor: UIColor,
27 | _ titleSelectClor: UIColor) -> UITabBarItem
28 | {
29 | let item = UITabBarItem(title: title, image: image?.withRenderingMode(.alwaysOriginal), selectedImage: selectedImage?.withRenderingMode(.alwaysOriginal))
30 | item.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : titleNormalColor], for: .normal)
31 | item.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : titleSelectClor], for: .selected)
32 | return item
33 | }
34 |
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Route/MCTabBarController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCTabBarController.swift
3 | // WisdomSpace
4 | //
5 | // Created by goulela on 2017/8/29.
6 | // Copyright © 2017年 MC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | public class MCTabBarController: UITabBarController,UITabBarControllerDelegate {
12 |
13 | override public func viewDidLoad() {
14 | super.viewDidLoad()
15 | tabBar.barTintColor = UIColor.white
16 | tabBar.isTranslucent = false
17 | }
18 |
19 | init() {
20 | super.init(nibName: nil, bundle: nil)
21 | }
22 |
23 | init(subControllers: [UIViewController]) {
24 | super.init(nibName: nil, bundle: nil)
25 | viewControllers = subControllers
26 | delegate = self
27 | selectedIndex = 0
28 | tabBar.barTintColor = UIColor.white
29 | }
30 |
31 |
32 | required init?(coder aDecoder: NSCoder) {
33 | fatalError("init(coder:) has not been implemented")
34 | }
35 |
36 | public func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
37 | return true
38 | }
39 |
40 | public func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
41 |
42 | }
43 |
44 | override public func didReceiveMemoryWarning() {
45 | super.didReceiveMemoryWarning()
46 | // Dispose of any resources that can be recreated.
47 | }
48 |
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Scan/Route+Scan.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Route+Scan.swift
3 | // Alamofire
4 | //
5 | // Created by MC on 2018/12/26.
6 | //
7 |
8 | import Foundation
9 |
10 |
11 | fileprivate let nameSpace = "MCComponentFunction"
12 |
13 | fileprivate let target_Scan = "Scan"
14 |
15 |
16 | extension MCRoute {
17 |
18 | /**
19 | * 扫一扫页面
20 | */
21 | public func MCScanViewController(_ params: [String:Any]) -> UIViewController {
22 | let vc = perform(target_Scan, params: params, nameSpace: nameSpace, shouldCacheTarget: false)
23 | guard vc != nil else {
24 | return errorController()
25 | }
26 |
27 | if let vc2 = vc as? MCScanViewController {
28 | return vc2
29 | }else {
30 | return errorController()
31 | }
32 | }
33 | }
34 |
35 |
36 | /**
37 | * 扫一扫页面
38 | */
39 | class Target_Scan: NSObject,RouteTargetProtocol {
40 | @objc func Action_ViewController(_ params: [String : Any]) -> UIViewController? {
41 | let vc = MCScanViewController(params)
42 | return vc
43 | }
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Toast/MCToastConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCToastConfig.swift
3 | // MCComponentFunction_Example
4 | //
5 | // Created by 满聪 on 2019/7/8.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | public class MCToastConfig: NSObject {
13 | public static let shared = MCToastConfig()
14 |
15 | public var background = Background()
16 | public var icon = Icon()
17 | public var text = Text()
18 |
19 | /// 自动隐藏的时长
20 | public var autoClearTime: CGFloat = 2
21 |
22 |
23 | public struct Background {
24 | /// toast 的背景颜色
25 | public var color: UIColor = UIColor.init(white: 0, alpha: 0.8)
26 | /// toast的size
27 | public var size: CGSize = CGSize.init(width: 150, height: 110)
28 | }
29 |
30 | public struct Icon {
31 | /// toast icon的size
32 | public var size: CGSize = CGSize.init(width: 40, height: 40)
33 | public var successImage: UIImage?
34 | public var failureImage: UIImage?
35 | public var waitImage: UIImage?
36 | public var warningImage: UIImage?
37 | public var otherImage: UIImage?
38 | }
39 |
40 | public struct Text {
41 | public var textColor: UIColor?
42 | public var font: UIFont?
43 | }
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Toast/MCToastHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JKToastHelper.swift
3 | // GMJKExtension
4 | //
5 | // Created by 满聪 on 2019/4/19.
6 | //
7 |
8 | import Foundation
9 | import UIKit
10 |
11 |
12 | extension String {
13 |
14 | func getWidth(font:CGFloat,height:CGFloat) -> CGFloat {
15 | let statusLabelText: NSString = self as NSString
16 | let size = CGSize.init(width: 9999, height: height)
17 | let dic = NSDictionary(object: UIFont.systemFont(ofSize: font), forKey: NSAttributedString.Key.font as NSCopying)
18 | let strSize = statusLabelText.boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: dic as? [NSAttributedString.Key : Any], context: nil).size
19 | return strSize.width
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/MCComponentFunction/Classes/Tool/MCTool.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCTool.swift
3 | // StoreManage
4 | //
5 | // Created by MC on 2018/8/31.
6 | // Copyright © 2018年 MC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | public class MCTool: NSObject {
12 |
13 | }
14 |
15 |
16 | extension MCTool {
17 | /// 获取类名字符串
18 | public static func mc_getClassName(_ obj:Any) -> String {
19 | let mirro = Mirror(reflecting: obj)
20 | let className = String(describing: mirro.subjectType).components(separatedBy: ".").first!
21 | return className
22 | }
23 | }
24 |
25 |
26 | extension MCTool {
27 |
28 |
29 | /// 获取该app的缓存
30 | public static func mc_cacheSize() -> String {
31 | let cachePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first
32 | let fileArr = FileManager.default.subpaths(atPath: cachePath!)
33 | var size = 0
34 | for file in fileArr! {
35 | let path = cachePath! + "/\(file)"
36 | // 取出文件属性
37 | let floder = try! FileManager.default.attributesOfItem(atPath: path)
38 | // 用元组取出文件大小属性
39 | for (abc, bcd) in floder {
40 | // 累加文件大小
41 | if abc == FileAttributeKey.size {
42 | size += (bcd as AnyObject).integerValue
43 | }
44 | }
45 | }
46 | let mm = size / 1024 / 1024
47 | return String(mm) + "M"
48 | }
49 |
50 | /// 清理该app的缓存
51 | public static func mc_clearCache() {
52 | let cachePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first
53 | let fileArr = FileManager.default.subpaths(atPath: cachePath!)
54 | // 遍历删除
55 | for file in fileArr! {
56 | let path = cachePath! + "/\(file)"
57 | if FileManager.default.fileExists(atPath: path) {
58 | do {
59 | try FileManager.default.removeItem(atPath: path)
60 | } catch { }
61 | }
62 | }
63 | }
64 | }
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentFunction/README.md:
--------------------------------------------------------------------------------
1 | # iOS_Component_functions
2 |
3 | #### 项目介绍
4 | 项目介绍
5 |
6 | 组件化---小功能集合
7 |
8 | 图片裁切
9 | 倒计时
10 | 自定义选择时间
11 | 地理位置的编码和反编码
12 | 定位功能
13 |
14 | #### 软件架构
15 | 软件架构说明
16 |
17 |
18 | #### 安装教程
19 |
20 | 1. xxxx
21 | 2. xxxx
22 | 3. xxxx
23 |
24 | #### 使用说明
25 |
26 | 1. xxxx
27 | 2. xxxx
28 | 3. xxxx
29 |
30 | #### 参与贡献
31 |
32 | 1. Fork 本项目
33 | 2. 新建 Feat_xxx 分支
34 | 3. 提交代码
35 | 4. 新建 Pull Request
36 |
37 |
38 | #### 码云特技
39 |
40 | 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
41 | 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
42 | 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
43 | 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
44 | 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
45 | 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 562863544@qq.com <13761066392@163.com>
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/EmptyData@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/EmptyData@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/EmptyData@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/EmptyData@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/add@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/add@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/add@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/add@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/arrow@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/arrow@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/arrow@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/notSelected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/notSelected@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/notSelected@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/notSelected@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/reduce@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/reduce@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/reduce@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/reduce@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/selected@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/selected@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Assets/View/selected@3x.png
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Classes/Button/MCTopAndBottomTextButton.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCUpAndDownTextButton.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2019/1/25.
6 | //
7 |
8 | import Foundation
9 |
10 | import MCComponentExtension
11 | import SnapKit
12 |
13 | public class MCTopAndBottomTextButton: UIButton {
14 |
15 | override public func draw(_ rect: CGRect) {
16 |
17 | self.addSubview(topLabel)
18 | topLabel.snp.remakeConstraints { (make) ->Void in
19 | make.left.right.equalTo(self)
20 | make.bottom.equalTo(self.snp.centerY).offset(-2)
21 | }
22 |
23 | self.addSubview(bottomLabel)
24 | bottomLabel.snp.remakeConstraints { (make) ->Void in
25 | make.left.right.equalTo(self)
26 | make.top.equalTo(self.snp.centerY).offset(3)
27 | }
28 | }
29 |
30 |
31 | public lazy var topLabel: UILabel = {
32 | let label = UILabel()
33 | label.font = UIFont.mc13
34 | label.textColor = UIColor.mc_darkGray
35 | label.text = "Up"
36 | label.textAlignment = .center
37 | return label
38 | }()
39 |
40 | public lazy var bottomLabel: UILabel = {
41 | let label = UILabel()
42 | label.font = UIFont.mc12
43 | label.textColor = UIColor.mc_gray
44 | label.text = "bottom"
45 | label.textAlignment = .center
46 | return label
47 | }()
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Classes/TableView/MCTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCTableViewCell.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2019/1/15.
6 | //
7 |
8 | import Foundation
9 |
10 |
11 | import UIKit
12 | import SnapKit
13 | import MCComponentExtension
14 |
15 | open class MCTableViewCell: UITableViewCell {
16 |
17 | override public init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
18 | super.init(style: style, reuseIdentifier: reuseIdentifier)
19 |
20 | self.selectionStyle = UITableViewCell.SelectionStyle.none
21 | self.backgroundColor = UIColor.white
22 |
23 |
24 | self.addSubview(lineView)
25 | lineView.snp.remakeConstraints { (make) ->Void in
26 | make.left.right.bottom.equalTo(self)
27 | make.height.equalTo(1)
28 | }
29 | }
30 |
31 | required public init?(coder aDecoder: NSCoder) {
32 | fatalError("init(coder:) has not been implemented")
33 | }
34 |
35 | public lazy var lineView: UIView = {
36 | let view = UIView()
37 | view.backgroundColor = UIColor.mc_line
38 | return view
39 | }()
40 | }
41 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Classes/Textview/UITextView+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UITextView+Extension.swift
3 | // MCComponentExtension
4 | //
5 | // Created by 满聪 on 2019/6/25.
6 | //
7 |
8 | import Foundation
9 |
10 | extension UITextView {
11 | //(链接为空时则表示普通文本)
12 |
13 | /// 添加链接文本
14 | ///
15 | /// - Parameters:
16 | /// - string: 显示的文字内容
17 | /// - withURLString: 链接 为空时则表示普通文本
18 | /// - stringColor: 文字颜色
19 | /// - underlineColor: 下划线的颜色
20 | public func appendLinkString(_ string: String,
21 | withURLString: String = "",
22 | isShowUnderline: Bool = false,
23 | underlineColor: UIColor? = nil) {
24 | //原来的文本内容
25 | let attrString:NSMutableAttributedString = NSMutableAttributedString()
26 | attrString.append(self.attributedText)
27 |
28 | //新增的文本内容(使用默认设置的字体样式)
29 | let attrs = [NSAttributedString.Key.font : self.font!]
30 | let appendString = NSMutableAttributedString(string: string, attributes:attrs)
31 | //判断是否是链接文字
32 | if withURLString != "" {
33 | let range:NSRange = NSMakeRange(0, appendString.length)
34 | appendString.beginEditing()
35 | appendString.addAttribute(NSAttributedString.Key.link, value:withURLString, range:range)
36 |
37 |
38 | if isShowUnderline {
39 | appendString.addAttribute(NSAttributedString.Key.underlineStyle, value:NSUnderlineStyle.single.rawValue, range:range)
40 |
41 | if let color = underlineColor {
42 | appendString.addAttribute(NSAttributedString.Key.underlineColor, value:color, range:range)
43 | }
44 | }
45 |
46 |
47 | appendString.endEditing()
48 | }
49 | //合并新的文本
50 | attrString.append(appendString)
51 |
52 | //设置合并后的文本
53 | self.attributedText = attrString
54 | }
55 | }
56 |
57 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Classes/View/MCInputBarView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCInputBarView.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2019/1/15.
6 | //
7 |
8 | import Foundation
9 | import UIKit
10 |
11 | public class MCInputBarView: UIView {
12 |
13 | override init(frame: CGRect) {
14 | super.init(frame: frame)
15 |
16 | self.backgroundColor = UIColor.white
17 |
18 | self.addSubview(lineView)
19 |
20 | self.addSubview(leftLabel)
21 |
22 | self.addSubview(rightTextFiled)
23 | }
24 |
25 | override public func layoutSubviews() {
26 | super.layoutSubviews()
27 |
28 | lineView.snp.remakeConstraints { (make) ->Void in
29 | make.left.right.bottom.equalTo(self)
30 | make.height.equalTo(1)
31 | }
32 |
33 | leftLabel.snp.remakeConstraints { (make) ->Void in
34 | make.left.equalTo(0)
35 | make.centerY.equalTo(self)
36 | make.width.equalTo(100)
37 | }
38 |
39 | rightTextFiled.snp.remakeConstraints { (make) ->Void in
40 | make.left.equalTo(leftLabel.snp.right)
41 | make.right.equalTo(0)
42 | make.top.bottom.equalTo(self)
43 | }
44 | }
45 |
46 | required init?(coder aDecoder: NSCoder) {
47 | fatalError("init(coder:) has not been implemented")
48 | }
49 |
50 | public lazy var lineView: UIView = {
51 | let view = UIView()
52 | view.backgroundColor = UIColor.mc_line
53 | return view
54 | }()
55 |
56 | public lazy var leftLabel: UILabel = {
57 | let label = UILabel()
58 | label.font = UIFont.mc14
59 | label.textColor = UIColor.mc_darkGray
60 | return label
61 | }()
62 |
63 |
64 | public lazy var rightTextFiled: UITextField = {
65 | let tf = UITextField()
66 | tf.placeholder = "请填写"
67 | tf.font = UIFont.mc14
68 | tf.textColor = UIColor.mc_gray
69 | tf.textAlignment = .right
70 | return tf
71 | }()
72 | }
73 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/MCComponentPublicUI/Classes/View/MCShowBarView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCShowBarView.swift
3 | // MCComponentExtension
4 | //
5 | // Created by MC on 2019/1/15.
6 | //
7 |
8 | import Foundation
9 |
10 | /**
11 | * 用来做有一个标题和内容的展示
12 | * 。
13 | * 样式 :
14 | *
15 | * leftLabel的内容 rightLabel的内容
16 | * ——————————————————————————————————————————————
17 | */
18 | public class MCShowBarView: UIView {
19 |
20 | override init(frame: CGRect) {
21 | super.init(frame: frame)
22 |
23 | self.addSubview(leftLabel)
24 | self.addSubview(rightLabel)
25 | self.addSubview(lineView)
26 | }
27 |
28 | override public func layoutSubviews() {
29 | super.layoutSubviews()
30 |
31 | leftLabel.snp.remakeConstraints { (make) ->Void in
32 | make.centerY.equalTo(self)
33 | make.left.equalTo(0)
34 | }
35 |
36 | rightLabel.snp.remakeConstraints { (make) ->Void in
37 | make.centerY.equalTo(self)
38 | make.right.equalTo(0)
39 | }
40 |
41 | lineView.snp.remakeConstraints { (make) ->Void in
42 | make.height.equalTo(1)
43 | make.left.right.bottom.equalTo(0)
44 | }
45 | }
46 |
47 | required init?(coder aDecoder: NSCoder) {
48 | fatalError("init(coder:) has not been implemented")
49 | }
50 |
51 |
52 | public lazy var leftLabel: UILabel = {
53 | let label = UILabel()
54 | label.font = UIFont.mc15
55 | label.text = "xxx"
56 | label.textColor = UIColor.mc_darkGray
57 | return label
58 | }()
59 |
60 |
61 | public lazy var rightLabel: UILabel = {
62 | let label = UILabel()
63 | label.text = "xxx"
64 | label.font = UIFont.mc14
65 | label.textColor = UIColor.mc_gray
66 | return label
67 | }()
68 |
69 | public lazy var lineView: UIView = {
70 | let view = UIView()
71 | view.backgroundColor = UIColor.mc_line
72 | return view
73 | }()
74 | }
75 |
--------------------------------------------------------------------------------
/Example/Pods/MCComponentPublicUI/README.md:
--------------------------------------------------------------------------------
1 | # MCComponentPublicUI
2 |
3 | [](https://travis-ci.org/562863544@qq.com/MCComponentPublicUI)
4 | [](https://cocoapods.org/pods/MCComponentPublicUI)
5 | [](https://cocoapods.org/pods/MCComponentPublicUI)
6 | [](https://cocoapods.org/pods/MCComponentPublicUI)
7 |
8 | ## Example
9 |
10 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
11 |
12 | ## Requirements
13 |
14 | ## Installation
15 |
16 | MCComponentPublicUI is available through [CocoaPods](https://cocoapods.org). To install
17 | it, simply add the following line to your Podfile:
18 |
19 | ```ruby
20 | pod 'MCComponentPublicUI'
21 | ```
22 |
23 | ## Author
24 |
25 | 562863544@qq.com, 13761066392@163.com
26 |
27 | ## License
28 |
29 | MCComponentPublicUI is available under the MIT license. See the LICENSE file for more info.
30 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013-2015 MJRefresh (https://github.com/CoderMJLee/MJRefresh)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshFooter.h"
10 |
11 | @interface MJRefreshAutoFooter : MJRefreshFooter
12 | /** 是否自动刷新(默认为YES) */
13 | @property (assign, nonatomic, getter=isAutomaticallyRefresh) BOOL automaticallyRefresh;
14 |
15 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
16 | @property (assign, nonatomic) CGFloat appearencePercentTriggerAutoRefresh MJRefreshDeprecated("请使用triggerAutomaticallyRefreshPercent属性");
17 |
18 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
19 | @property (assign, nonatomic) CGFloat triggerAutomaticallyRefreshPercent;
20 |
21 | /** 是否每一次拖拽只发一次请求 */
22 | @property (assign, nonatomic, getter=isOnlyRefreshPerDrag) BOOL onlyRefreshPerDrag;
23 | @end
24 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Base/MJRefreshBackFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshFooter.h"
10 |
11 | @interface MJRefreshBackFooter : MJRefreshFooter
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Base/MJRefreshFooter.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // MJRefreshFooter.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/5.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | // 上拉刷新控件
9 |
10 | #import "MJRefreshComponent.h"
11 |
12 | @interface MJRefreshFooter : MJRefreshComponent
13 | /** 创建footer */
14 | + (instancetype)footerWithRefreshingBlock:(MJRefreshComponentRefreshingBlock)refreshingBlock;
15 | /** 创建footer */
16 | + (instancetype)footerWithRefreshingTarget:(id)target refreshingAction:(SEL)action;
17 |
18 | /** 提示没有更多的数据 */
19 | - (void)endRefreshingWithNoMoreData;
20 | - (void)noticeNoMoreData MJRefreshDeprecated("使用endRefreshingWithNoMoreData");
21 |
22 | /** 重置没有更多的数据(消除没有更多数据的状态) */
23 | - (void)resetNoMoreData;
24 |
25 | /** 忽略多少scrollView的contentInset的bottom */
26 | @property (assign, nonatomic) CGFloat ignoredScrollViewContentInsetBottom;
27 |
28 | /** 自动根据有无数据来显示和隐藏(有数据就显示,没有数据隐藏。默认是NO) */
29 | @property (assign, nonatomic, getter=isAutomaticallyHidden) BOOL automaticallyHidden MJRefreshDeprecated("已废弃此属性,开发者请自行控制footer的显示和隐藏");
30 | @end
31 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Base/MJRefreshHeader.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // MJRefreshHeader.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/4.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | // 下拉刷新控件:负责监控用户下拉的状态
9 |
10 | #import "MJRefreshComponent.h"
11 |
12 | @interface MJRefreshHeader : MJRefreshComponent
13 | /** 创建header */
14 | + (instancetype)headerWithRefreshingBlock:(MJRefreshComponentRefreshingBlock)refreshingBlock;
15 | /** 创建header */
16 | + (instancetype)headerWithRefreshingTarget:(id)target refreshingAction:(SEL)action;
17 |
18 | /** 这个key用来存储上一次下拉刷新成功的时间 */
19 | @property (copy, nonatomic) NSString *lastUpdatedTimeKey;
20 | /** 上一次下拉刷新成功的时间 */
21 | @property (strong, nonatomic, readonly) NSDate *lastUpdatedTime;
22 |
23 | /** 忽略多少scrollView的contentInset的top */
24 | @property (assign, nonatomic) CGFloat ignoredScrollViewContentInsetTop;
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoGifFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoGifFooter : MJRefreshAutoStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *gifView;
13 |
14 | /** 设置state状态下的动画图片images 动画持续时间duration*/
15 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
16 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoNormalFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoNormalFooter : MJRefreshAutoStateFooter
12 | /** 菊花的样式 */
13 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
14 | @end
15 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoNormalFooter.m
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoNormalFooter.h"
10 |
11 | @interface MJRefreshAutoNormalFooter()
12 | @property (weak, nonatomic) UIActivityIndicatorView *loadingView;
13 | @end
14 |
15 | @implementation MJRefreshAutoNormalFooter
16 | #pragma mark - 懒加载子控件
17 | - (UIActivityIndicatorView *)loadingView
18 | {
19 | if (!_loadingView) {
20 | UIActivityIndicatorView *loadingView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:self.activityIndicatorViewStyle];
21 | loadingView.hidesWhenStopped = YES;
22 | [self addSubview:_loadingView = loadingView];
23 | }
24 | return _loadingView;
25 | }
26 |
27 | - (void)setActivityIndicatorViewStyle:(UIActivityIndicatorViewStyle)activityIndicatorViewStyle
28 | {
29 | _activityIndicatorViewStyle = activityIndicatorViewStyle;
30 |
31 | self.loadingView = nil;
32 | [self setNeedsLayout];
33 | }
34 | #pragma mark - 重写父类的方法
35 | - (void)prepare
36 | {
37 | [super prepare];
38 |
39 | self.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
40 | }
41 |
42 | - (void)placeSubviews
43 | {
44 | [super placeSubviews];
45 |
46 | if (self.loadingView.constraints.count) return;
47 |
48 | // 圈圈
49 | CGFloat loadingCenterX = self.mj_w * 0.5;
50 | if (!self.isRefreshingTitleHidden) {
51 | loadingCenterX -= self.stateLabel.mj_textWith * 0.5 + self.labelLeftInset;
52 | }
53 | CGFloat loadingCenterY = self.mj_h * 0.5;
54 | self.loadingView.center = CGPointMake(loadingCenterX, loadingCenterY);
55 | }
56 |
57 | - (void)setState:(MJRefreshState)state
58 | {
59 | MJRefreshCheckState
60 |
61 | // 根据状态做事情
62 | if (state == MJRefreshStateNoMoreData || state == MJRefreshStateIdle) {
63 | [self.loadingView stopAnimating];
64 | } else if (state == MJRefreshStateRefreshing) {
65 | [self.loadingView startAnimating];
66 | }
67 | }
68 |
69 | @end
70 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoStateFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoFooter.h"
10 |
11 | @interface MJRefreshAutoStateFooter : MJRefreshAutoFooter
12 | /** 文字距离圈圈、箭头的距离 */
13 | @property (assign, nonatomic) CGFloat labelLeftInset;
14 | /** 显示刷新状态的label */
15 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
16 |
17 | /** 设置state状态下的文字 */
18 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
19 |
20 | /** 隐藏刷新状态的文字 */
21 | @property (assign, nonatomic, getter=isRefreshingTitleHidden) BOOL refreshingTitleHidden;
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackGifFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackGifFooter : MJRefreshBackStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *gifView;
13 |
14 | /** 设置state状态下的动画图片images 动画持续时间duration*/
15 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
16 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackNormalFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackNormalFooter : MJRefreshBackStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
13 | /** 菊花的样式 */
14 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackStateFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackFooter.h"
10 |
11 | @interface MJRefreshBackStateFooter : MJRefreshBackFooter
12 | /** 文字距离圈圈、箭头的距离 */
13 | @property (assign, nonatomic) CGFloat labelLeftInset;
14 | /** 显示刷新状态的label */
15 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
16 | /** 设置state状态下的文字 */
17 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
18 |
19 | /** 获取state状态下的title */
20 | - (NSString *)titleForState:(MJRefreshState)state;
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshGifHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshGifHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshStateHeader.h"
10 |
11 | @interface MJRefreshGifHeader : MJRefreshStateHeader
12 | @property (weak, nonatomic, readonly) UIImageView *gifView;
13 |
14 | /** 设置state状态下的动画图片images 动画持续时间duration*/
15 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
16 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshNormalHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshNormalHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshStateHeader.h"
10 |
11 | @interface MJRefreshNormalHeader : MJRefreshStateHeader
12 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
13 | /** 菊花的样式 */
14 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshStateHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshStateHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshHeader.h"
10 |
11 | @interface MJRefreshStateHeader : MJRefreshHeader
12 | #pragma mark - 刷新时间相关
13 | /** 利用这个block来决定显示的更新时间文字 */
14 | @property (copy, nonatomic) NSString *(^lastUpdatedTimeText)(NSDate *lastUpdatedTime);
15 | /** 显示上一次刷新时间的label */
16 | @property (weak, nonatomic, readonly) UILabel *lastUpdatedTimeLabel;
17 |
18 | #pragma mark - 状态相关
19 | /** 文字距离圈圈、箭头的距离 */
20 | @property (assign, nonatomic) CGFloat labelLeftInset;
21 | /** 显示刷新状态的label */
22 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
23 | /** 设置state状态下的文字 */
24 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "Pull down to refresh";
2 | "MJRefreshHeaderPullingText" = "Release to refresh";
3 | "MJRefreshHeaderRefreshingText" = "Loading...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "Tap or pull up to load more";
6 | "MJRefreshAutoFooterRefreshingText" = "Loading...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "No more data";
8 |
9 | "MJRefreshBackFooterIdleText" = "Pull up to load more";
10 | "MJRefreshBackFooterPullingText" = "Release to load more.";
11 | "MJRefreshBackFooterRefreshingText" = "Loading...";
12 | "MJRefreshBackFooterNoMoreDataText" = "No more data";
13 |
14 | "MJRefreshHeaderLastTimeText" = "Last updated: ";
15 | "MJRefreshHeaderDateTodayText" = "Today";
16 | "MJRefreshHeaderNoneLastDateText" = "No record";
17 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Example/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "下拉可以刷新";
2 | "MJRefreshHeaderPullingText" = "鬆開立即刷新";
3 | "MJRefreshHeaderRefreshingText" = "正在刷新數據中...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "點擊或上拉加載更多";
6 | "MJRefreshAutoFooterRefreshingText" = "正在加載更多的數據...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "已經全部加載完畢";
8 |
9 | "MJRefreshBackFooterIdleText" = "上拉可以加載更多";
10 | "MJRefreshBackFooterPullingText" = "鬆開立即加載更多";
11 | "MJRefreshBackFooterRefreshingText" = "正在加載更多的數據...";
12 | "MJRefreshBackFooterNoMoreDataText" = "已經全部加載完畢";
13 |
14 | "MJRefreshHeaderLastTimeText" = "最後更新:";
15 | "MJRefreshHeaderDateTodayText" = "今天";
16 | "MJRefreshHeaderNoneLastDateText" = "無記錄";
17 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/MJRefresh.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 |
4 | #import "UIScrollView+MJRefresh.h"
5 | #import "UIScrollView+MJExtension.h"
6 | #import "UIView+MJExtension.h"
7 |
8 | #import "MJRefreshNormalHeader.h"
9 | #import "MJRefreshGifHeader.h"
10 |
11 | #import "MJRefreshBackNormalFooter.h"
12 | #import "MJRefreshBackGifFooter.h"
13 | #import "MJRefreshAutoNormalFooter.h"
14 | #import "MJRefreshAutoGifFooter.h"
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/MJRefreshConst.m:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | #import
4 |
5 | const CGFloat MJRefreshLabelLeftInset = 25;
6 | const CGFloat MJRefreshHeaderHeight = 54.0;
7 | const CGFloat MJRefreshFooterHeight = 44.0;
8 | const CGFloat MJRefreshFastAnimationDuration = 0.25;
9 | const CGFloat MJRefreshSlowAnimationDuration = 0.4;
10 |
11 | NSString *const MJRefreshKeyPathContentOffset = @"contentOffset";
12 | NSString *const MJRefreshKeyPathContentInset = @"contentInset";
13 | NSString *const MJRefreshKeyPathContentSize = @"contentSize";
14 | NSString *const MJRefreshKeyPathPanState = @"state";
15 |
16 | NSString *const MJRefreshHeaderLastUpdatedTimeKey = @"MJRefreshHeaderLastUpdatedTimeKey";
17 |
18 | NSString *const MJRefreshHeaderIdleText = @"MJRefreshHeaderIdleText";
19 | NSString *const MJRefreshHeaderPullingText = @"MJRefreshHeaderPullingText";
20 | NSString *const MJRefreshHeaderRefreshingText = @"MJRefreshHeaderRefreshingText";
21 |
22 | NSString *const MJRefreshAutoFooterIdleText = @"MJRefreshAutoFooterIdleText";
23 | NSString *const MJRefreshAutoFooterRefreshingText = @"MJRefreshAutoFooterRefreshingText";
24 | NSString *const MJRefreshAutoFooterNoMoreDataText = @"MJRefreshAutoFooterNoMoreDataText";
25 |
26 | NSString *const MJRefreshBackFooterIdleText = @"MJRefreshBackFooterIdleText";
27 | NSString *const MJRefreshBackFooterPullingText = @"MJRefreshBackFooterPullingText";
28 | NSString *const MJRefreshBackFooterRefreshingText = @"MJRefreshBackFooterRefreshingText";
29 | NSString *const MJRefreshBackFooterNoMoreDataText = @"MJRefreshBackFooterNoMoreDataText";
30 |
31 | NSString *const MJRefreshHeaderLastTimeText = @"MJRefreshHeaderLastTimeText";
32 | NSString *const MJRefreshHeaderDateTodayText = @"MJRefreshHeaderDateTodayText";
33 | NSString *const MJRefreshHeaderNoneLastDateText = @"MJRefreshHeaderNoneLastDateText";
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/NSBundle+MJRefresh.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+MJRefresh.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 16/6/13.
6 | // Copyright © 2016年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSBundle (MJRefresh)
12 | + (instancetype)mj_refreshBundle;
13 | + (UIImage *)mj_arrowImage;
14 | + (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value;
15 | + (NSString *)mj_localizedStringForKey:(NSString *)key;
16 | @end
17 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/NSBundle+MJRefresh.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+MJRefresh.m
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 16/6/13.
6 | // Copyright © 2016年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "NSBundle+MJRefresh.h"
10 | #import "MJRefreshComponent.h"
11 |
12 | @implementation NSBundle (MJRefresh)
13 | + (instancetype)mj_refreshBundle
14 | {
15 | static NSBundle *refreshBundle = nil;
16 | if (refreshBundle == nil) {
17 | // 这里不使用mainBundle是为了适配pod 1.x和0.x
18 | refreshBundle = [NSBundle bundleWithPath:[[NSBundle bundleForClass:[MJRefreshComponent class]] pathForResource:@"MJRefresh" ofType:@"bundle"]];
19 | }
20 | return refreshBundle;
21 | }
22 |
23 | + (UIImage *)mj_arrowImage
24 | {
25 | static UIImage *arrowImage = nil;
26 | if (arrowImage == nil) {
27 | arrowImage = [[UIImage imageWithContentsOfFile:[[self mj_refreshBundle] pathForResource:@"arrow@2x" ofType:@"png"]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
28 | }
29 | return arrowImage;
30 | }
31 |
32 | + (NSString *)mj_localizedStringForKey:(NSString *)key
33 | {
34 | return [self mj_localizedStringForKey:key value:nil];
35 | }
36 |
37 | + (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
38 | {
39 | static NSBundle *bundle = nil;
40 | if (bundle == nil) {
41 | // (iOS获取的语言字符串比较不稳定)目前框架只处理en、zh-Hans、zh-Hant三种情况,其他按照系统默认处理
42 | NSString *language = [NSLocale preferredLanguages].firstObject;
43 | if ([language hasPrefix:@"en"]) {
44 | language = @"en";
45 | } else if ([language hasPrefix:@"zh"]) {
46 | if ([language rangeOfString:@"Hans"].location != NSNotFound) {
47 | language = @"zh-Hans"; // 简体中文
48 | } else { // zh-Hant\zh-HK\zh-TW
49 | language = @"zh-Hant"; // 繁體中文
50 | }
51 | } else {
52 | language = @"en";
53 | }
54 |
55 | // 从MJRefresh.bundle中查找资源
56 | bundle = [NSBundle bundleWithPath:[[NSBundle mj_refreshBundle] pathForResource:language ofType:@"lproj"]];
57 | }
58 | value = [bundle localizedStringForKey:key value:value table:nil];
59 | return [[NSBundle mainBundle] localizedStringForKey:key value:value table:nil];
60 | }
61 | @end
62 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/UIScrollView+MJExtension.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIScrollView+Extension.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import
11 |
12 | @interface UIScrollView (MJExtension)
13 | @property (readonly, nonatomic) UIEdgeInsets mj_inset;
14 |
15 | @property (assign, nonatomic) CGFloat mj_insetT;
16 | @property (assign, nonatomic) CGFloat mj_insetB;
17 | @property (assign, nonatomic) CGFloat mj_insetL;
18 | @property (assign, nonatomic) CGFloat mj_insetR;
19 |
20 | @property (assign, nonatomic) CGFloat mj_offsetX;
21 | @property (assign, nonatomic) CGFloat mj_offsetY;
22 |
23 | @property (assign, nonatomic) CGFloat mj_contentW;
24 | @property (assign, nonatomic) CGFloat mj_contentH;
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/UIScrollView+MJRefresh.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIScrollView+MJRefresh.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/4.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | // 给ScrollView增加下拉刷新、上拉刷新的功能
9 |
10 | #import
11 | #import "MJRefreshConst.h"
12 |
13 | @class MJRefreshHeader, MJRefreshFooter;
14 |
15 | @interface UIScrollView (MJRefresh)
16 | /** 下拉刷新控件 */
17 | @property (strong, nonatomic) MJRefreshHeader *mj_header;
18 | @property (strong, nonatomic) MJRefreshHeader *header MJRefreshDeprecated("使用mj_header");
19 | /** 上拉刷新控件 */
20 | @property (strong, nonatomic) MJRefreshFooter *mj_footer;
21 | @property (strong, nonatomic) MJRefreshFooter *footer MJRefreshDeprecated("使用mj_footer");
22 |
23 | #pragma mark - other
24 | - (NSInteger)mj_totalDataCount;
25 | //@property (copy, nonatomic) void (^mj_reloadDataBlock)(NSInteger totalDataCount);
26 | @end
27 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/UIView+MJExtension.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIView+Extension.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import
11 |
12 | @interface UIView (MJExtension)
13 | @property (assign, nonatomic) CGFloat mj_x;
14 | @property (assign, nonatomic) CGFloat mj_y;
15 | @property (assign, nonatomic) CGFloat mj_w;
16 | @property (assign, nonatomic) CGFloat mj_h;
17 | @property (assign, nonatomic) CGSize mj_size;
18 | @property (assign, nonatomic) CGPoint mj_origin;
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/MJRefresh/MJRefresh/UIView+MJExtension.m:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIView+Extension.m
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import "UIView+MJExtension.h"
11 |
12 | @implementation UIView (MJExtension)
13 | - (void)setMj_x:(CGFloat)mj_x
14 | {
15 | CGRect frame = self.frame;
16 | frame.origin.x = mj_x;
17 | self.frame = frame;
18 | }
19 |
20 | - (CGFloat)mj_x
21 | {
22 | return self.frame.origin.x;
23 | }
24 |
25 | - (void)setMj_y:(CGFloat)mj_y
26 | {
27 | CGRect frame = self.frame;
28 | frame.origin.y = mj_y;
29 | self.frame = frame;
30 | }
31 |
32 | - (CGFloat)mj_y
33 | {
34 | return self.frame.origin.y;
35 | }
36 |
37 | - (void)setMj_w:(CGFloat)mj_w
38 | {
39 | CGRect frame = self.frame;
40 | frame.size.width = mj_w;
41 | self.frame = frame;
42 | }
43 |
44 | - (CGFloat)mj_w
45 | {
46 | return self.frame.size.width;
47 | }
48 |
49 | - (void)setMj_h:(CGFloat)mj_h
50 | {
51 | CGRect frame = self.frame;
52 | frame.size.height = mj_h;
53 | self.frame = frame;
54 | }
55 |
56 | - (CGFloat)mj_h
57 | {
58 | return self.frame.size.height;
59 | }
60 |
61 | - (void)setMj_size:(CGSize)mj_size
62 | {
63 | CGRect frame = self.frame;
64 | frame.size = mj_size;
65 | self.frame = frame;
66 | }
67 |
68 | - (CGSize)mj_size
69 | {
70 | return self.frame.size;
71 | }
72 |
73 | - (void)setMj_origin:(CGPoint)mj_origin
74 | {
75 | CGRect frame = self.frame;
76 | frame.origin = mj_origin;
77 | self.frame = frame;
78 | }
79 |
80 | - (CGPoint)mj_origin
81 | {
82 | return self.frame.origin;
83 | }
84 | @end
85 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/mancong.xcuserdatad/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildLocationStyle
6 | UseTargetSettings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcuserdata/MC.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | FLAnimatedImage.xcscheme
8 |
9 | isShown
10 |
11 |
12 | MCPageViewController.xcscheme
13 |
14 | isShown
15 |
16 |
17 | Pods-MCPageViewController_Example.xcscheme
18 |
19 | isShown
20 |
21 |
22 | Pods-MCPageViewController_Tests.xcscheme
23 |
24 | isShown
25 |
26 |
27 | SDWebImage.xcscheme
28 |
29 | isShown
30 |
31 |
32 |
33 | SuppressBuildableAutocreation
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcuserdata/mancong.xcuserdatad/xcschemes/MCComponentFunction-MCScanBundle.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcuserdata/mancong.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Alamofire.xcscheme
8 |
9 | isShown
10 |
11 |
12 | Kingfisher.xcscheme
13 |
14 | isShown
15 |
16 |
17 | MCComponentExtension-MCComponentExtensionBundle.xcscheme
18 |
19 | isShown
20 |
21 |
22 | MCComponentExtension.xcscheme
23 |
24 | isShown
25 |
26 |
27 | MCComponentFunction-MCPhotoLibraryBundle.xcscheme
28 |
29 | isShown
30 |
31 |
32 | MCComponentFunction-MCScanBundle.xcscheme
33 |
34 | isShown
35 |
36 |
37 | MCComponentFunction-MCToastBundle.xcscheme
38 |
39 | isShown
40 |
41 |
42 | MCComponentFunction.xcscheme
43 |
44 | isShown
45 |
46 |
47 | MCComponentPublicUI-MCComponentPublicUIViewBundle.xcscheme
48 |
49 | isShown
50 |
51 |
52 | MCComponentPublicUI.xcscheme
53 |
54 | isShown
55 |
56 |
57 | MCPageViewController.xcscheme
58 |
59 | isShown
60 |
61 |
62 | MJRefresh.xcscheme
63 |
64 | isShown
65 |
66 |
67 | Pods-MCPageViewController_Example.xcscheme
68 |
69 | isShown
70 |
71 |
72 | Pods-MCPageViewController_Tests.xcscheme
73 |
74 | isShown
75 |
76 |
77 | SnapKit.xcscheme
78 |
79 | isShown
80 |
81 |
82 |
83 | SuppressBuildableAutocreation
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection
27 | #else
28 | import AppKit
29 | public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection
30 | #endif
31 |
32 |
33 | public struct ConstraintConfig {
34 |
35 | public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintInsets.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | public typealias ConstraintInsets = UIEdgeInsets
33 | #else
34 | public typealias ConstraintInsets = NSEdgeInsets
35 | #endif
36 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public final class ConstraintItem {
32 |
33 | internal weak var target: AnyObject?
34 | internal let attributes: ConstraintAttributes
35 |
36 | internal init(target: AnyObject?, attributes: ConstraintAttributes) {
37 | self.target = target
38 | self.attributes = attributes
39 | }
40 |
41 | internal var layoutConstraintItem: LayoutConstraintItem? {
42 | return self.target as? LayoutConstraintItem
43 | }
44 |
45 | }
46 |
47 | public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool {
48 | // pointer equality
49 | guard lhs !== rhs else {
50 | return true
51 | }
52 |
53 | // must both have valid targets and identical attributes
54 | guard let target1 = lhs.target,
55 | let target2 = rhs.target,
56 | target1 === target2 && lhs.attributes == rhs.attributes else {
57 | return false
58 | }
59 |
60 | return true
61 | }
62 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintLayoutGuide+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #endif
27 |
28 |
29 | @available(iOS 9.0, OSX 10.11, *)
30 | public extension ConstraintLayoutGuide {
31 |
32 | public var snp: ConstraintLayoutGuideDSL {
33 | return ConstraintLayoutGuideDSL(guide: self)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintLayoutGuide.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 9.0, *)
33 | public typealias ConstraintLayoutGuide = UILayoutGuide
34 | #else
35 | @available(OSX 10.11, *)
36 | public typealias ConstraintLayoutGuide = NSLayoutGuide
37 | #endif
38 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintLayoutSupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | @available(iOS 8.0, *)
33 | public typealias ConstraintLayoutSupport = UILayoutSupport
34 | #else
35 | public class ConstraintLayoutSupport {}
36 | #endif
37 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintLayoutSupportDSL.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | @available(iOS 8.0, *)
32 | public struct ConstraintLayoutSupportDSL: ConstraintDSL {
33 |
34 | public var target: AnyObject? {
35 | return self.support
36 | }
37 |
38 | internal let support: ConstraintLayoutSupport
39 |
40 | internal init(support: ConstraintLayoutSupport) {
41 | self.support = support
42 |
43 | }
44 |
45 | public var top: ConstraintItem {
46 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
47 | }
48 |
49 | public var bottom: ConstraintItem {
50 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
51 | }
52 |
53 | public var height: ConstraintItem {
54 | return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintMakerFinalizable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class ConstraintMakerFinalizable {
32 |
33 | internal let description: ConstraintDescription
34 |
35 | internal init(_ description: ConstraintDescription) {
36 | self.description = description
37 | }
38 |
39 | @discardableResult
40 | public func labeled(_ label: String) -> ConstraintMakerFinalizable {
41 | self.description.label = label
42 | return self
43 | }
44 |
45 | public var constraint: Constraint {
46 | return self.description.constraint!
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintRelatableTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public protocol ConstraintRelatableTarget {
32 | }
33 |
34 | extension Int: ConstraintRelatableTarget {
35 | }
36 |
37 | extension UInt: ConstraintRelatableTarget {
38 | }
39 |
40 | extension Float: ConstraintRelatableTarget {
41 | }
42 |
43 | extension Double: ConstraintRelatableTarget {
44 | }
45 |
46 | extension CGFloat: ConstraintRelatableTarget {
47 | }
48 |
49 | extension CGSize: ConstraintRelatableTarget {
50 | }
51 |
52 | extension CGPoint: ConstraintRelatableTarget {
53 | }
54 |
55 | extension ConstraintInsets: ConstraintRelatableTarget {
56 | }
57 |
58 | extension ConstraintItem: ConstraintRelatableTarget {
59 | }
60 |
61 | extension ConstraintView: ConstraintRelatableTarget {
62 | }
63 |
64 | @available(iOS 9.0, OSX 10.11, *)
65 | extension ConstraintLayoutGuide: ConstraintRelatableTarget {
66 | }
67 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintRelation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | internal enum ConstraintRelation : Int {
32 | case equal = 1
33 | case lessThanOrEqual
34 | case greaterThanOrEqual
35 |
36 | internal var layoutRelation: LayoutRelation {
37 | get {
38 | switch(self) {
39 | case .equal:
40 | return .equal
41 | case .lessThanOrEqual:
42 | return .lessThanOrEqual
43 | case .greaterThanOrEqual:
44 | return .greaterThanOrEqual
45 | }
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/ConstraintView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | #if os(iOS) || os(tvOS)
32 | public typealias ConstraintView = UIView
33 | #else
34 | public typealias ConstraintView = NSView
35 | #endif
36 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/LayoutConstraint.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #else
27 | import AppKit
28 | #endif
29 |
30 |
31 | public class LayoutConstraint : NSLayoutConstraint {
32 |
33 | public var label: String? {
34 | get {
35 | return self.identifier
36 | }
37 | set {
38 | self.identifier = newValue
39 | }
40 | }
41 |
42 | internal weak var constraint: Constraint? = nil
43 |
44 | }
45 |
46 | internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
47 | guard lhs.firstItem === rhs.firstItem &&
48 | lhs.secondItem === rhs.secondItem &&
49 | lhs.firstAttribute == rhs.firstAttribute &&
50 | lhs.secondAttribute == rhs.secondAttribute &&
51 | lhs.relation == rhs.relation &&
52 | lhs.priority == rhs.priority &&
53 | lhs.multiplier == rhs.multiplier else {
54 | return false
55 | }
56 | return true
57 | }
58 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/Typealiases.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | import Foundation
25 |
26 | #if os(iOS) || os(tvOS)
27 | import UIKit
28 | #if swift(>=4.2)
29 | typealias LayoutRelation = NSLayoutConstraint.Relation
30 | typealias LayoutAttribute = NSLayoutConstraint.Attribute
31 | #else
32 | typealias LayoutRelation = NSLayoutRelation
33 | typealias LayoutAttribute = NSLayoutAttribute
34 | #endif
35 | typealias LayoutPriority = UILayoutPriority
36 | #else
37 | import AppKit
38 | typealias LayoutRelation = NSLayoutConstraint.Relation
39 | typealias LayoutAttribute = NSLayoutConstraint.Attribute
40 | typealias LayoutPriority = NSLayoutConstraint.Priority
41 | #endif
42 |
43 |
--------------------------------------------------------------------------------
/Example/Pods/SnapKit/Source/UILayoutSupport+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SnapKit
3 | //
4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | // THE SOFTWARE.
23 |
24 | #if os(iOS) || os(tvOS)
25 | import UIKit
26 | #endif
27 |
28 |
29 | @available(iOS 8.0, *)
30 | public extension ConstraintLayoutSupport {
31 |
32 | public var snp: ConstraintLayoutSupportDSL {
33 | return ConstraintLayoutSupportDSL(support: self)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Alamofire/Alamofire-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.8.2
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Alamofire/Alamofire-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Alamofire : NSObject
3 | @end
4 | @implementation PodsDummy_Alamofire
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double AlamofireVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char AlamofireVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Alamofire/Alamofire.modulemap:
--------------------------------------------------------------------------------
1 | framework module Alamofire {
2 | umbrella header "Alamofire-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Kingfisher/Kingfisher-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.10.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Kingfisher/Kingfisher-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Kingfisher : NSObject
3 | @end
4 | @implementation PodsDummy_Kingfisher
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Kingfisher/Kingfisher-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Kingfisher/Kingfisher-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "Kingfisher.h"
14 |
15 | FOUNDATION_EXPORT double KingfisherVersionNumber;
16 | FOUNDATION_EXPORT const unsigned char KingfisherVersionString[];
17 |
18 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Kingfisher/Kingfisher.modulemap:
--------------------------------------------------------------------------------
1 | framework module Kingfisher {
2 | umbrella header "Kingfisher-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Kingfisher/Kingfisher.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -framework "CFNetwork"
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Kingfisher
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/MCComponentExtension-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.8.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/MCComponentExtension-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MCComponentExtension : NSObject
3 | @end
4 | @implementation PodsDummy_MCComponentExtension
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/MCComponentExtension-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/MCComponentExtension-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double MCComponentExtensionVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char MCComponentExtensionVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/MCComponentExtension.modulemap:
--------------------------------------------------------------------------------
1 | framework module MCComponentExtension {
2 | umbrella header "MCComponentExtension-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/MCComponentExtension.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MCComponentExtension
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentExtension/ResourceBundle-MCComponentExtensionBundle-MCComponentExtension-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.8.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/MCComponentFunction-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.8.2
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/MCComponentFunction-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MCComponentFunction : NSObject
3 | @end
4 | @implementation PodsDummy_MCComponentFunction
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/MCComponentFunction-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/MCComponentFunction-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double MCComponentFunctionVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char MCComponentFunctionVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/MCComponentFunction.modulemap:
--------------------------------------------------------------------------------
1 | framework module MCComponentFunction {
2 | umbrella header "MCComponentFunction-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/MCComponentFunction.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MCComponentFunction
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/ResourceBundle-MCClipImageBundle-MCComponentFunction-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.6.8
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/ResourceBundle-MCPhotoLibraryBundle-MCComponentFunction-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.8.2
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/ResourceBundle-MCScanBundle-MCComponentFunction-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.8.2
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentFunction/ResourceBundle-MCToastBundle-MCComponentFunction-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.8.2
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/MCComponentPublicUI-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.8.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/MCComponentPublicUI-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MCComponentPublicUI : NSObject
3 | @end
4 | @implementation PodsDummy_MCComponentPublicUI
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/MCComponentPublicUI-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/MCComponentPublicUI-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double MCComponentPublicUIVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char MCComponentPublicUIVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/MCComponentPublicUI.modulemap:
--------------------------------------------------------------------------------
1 | framework module MCComponentPublicUI {
2 | umbrella header "MCComponentPublicUI-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/MCComponentPublicUI.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MCComponentPublicUI
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCComponentPublicUI/ResourceBundle-MCComponentPublicUIViewBundle-MCComponentPublicUI-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 0.8.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 3.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/MCPageViewController-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.4.3
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/MCPageViewController-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MCPageViewController : NSObject
3 | @end
4 | @implementation PodsDummy_MCPageViewController
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/MCPageViewController-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/MCPageViewController-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double MCPageViewControllerVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char MCPageViewControllerVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/MCPageViewController.modulemap:
--------------------------------------------------------------------------------
1 | framework module MCPageViewController {
2 | umbrella header "MCPageViewController-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MCPageViewController/MCPageViewController.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MJRefresh/MJRefresh-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 3.1.16
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MJRefresh/MJRefresh-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MJRefresh : NSObject
3 | @end
4 | @implementation PodsDummy_MJRefresh
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MJRefresh/MJRefresh-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MJRefresh/MJRefresh-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "MJRefreshAutoFooter.h"
14 | #import "MJRefreshBackFooter.h"
15 | #import "MJRefreshComponent.h"
16 | #import "MJRefreshFooter.h"
17 | #import "MJRefreshHeader.h"
18 | #import "MJRefreshAutoGifFooter.h"
19 | #import "MJRefreshAutoNormalFooter.h"
20 | #import "MJRefreshAutoStateFooter.h"
21 | #import "MJRefreshBackGifFooter.h"
22 | #import "MJRefreshBackNormalFooter.h"
23 | #import "MJRefreshBackStateFooter.h"
24 | #import "MJRefreshGifHeader.h"
25 | #import "MJRefreshNormalHeader.h"
26 | #import "MJRefreshStateHeader.h"
27 | #import "MJRefresh.h"
28 | #import "MJRefreshConst.h"
29 | #import "NSBundle+MJRefresh.h"
30 | #import "UIScrollView+MJExtension.h"
31 | #import "UIScrollView+MJRefresh.h"
32 | #import "UIView+MJExtension.h"
33 |
34 | FOUNDATION_EXPORT double MJRefreshVersionNumber;
35 | FOUNDATION_EXPORT const unsigned char MJRefreshVersionString[];
36 |
37 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MJRefresh/MJRefresh.modulemap:
--------------------------------------------------------------------------------
1 | framework module MJRefresh {
2 | umbrella header "MJRefresh-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Pods-MCPageViewController_Example-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Pods-MCPageViewController_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_MCPageViewController_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_MCPageViewController_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Pods-MCPageViewController_Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_MCPageViewController_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_MCPageViewController_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Pods-MCPageViewController_Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension/MCComponentExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction/MCComponentFunction.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI/MCComponentPublicUI.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController/MCPageViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
6 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "MCComponentExtension" -framework "MCComponentFunction" -framework "MCComponentPublicUI" -framework "MCPageViewController" -framework "MJRefresh" -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Pods-MCPageViewController_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_MCPageViewController_Example {
2 | umbrella header "Pods-MCPageViewController_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Example/Pods-MCPageViewController_Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension/MCComponentExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction/MCComponentFunction.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI/MCComponentPublicUI.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController/MCPageViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
6 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "MCComponentExtension" -framework "MCComponentFunction" -framework "MCComponentPublicUI" -framework "MCPageViewController" -framework "MJRefresh" -framework "SnapKit"
7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
8 | PODS_BUILD_DIR = ${BUILD_DIR}
9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 | Generated by CocoaPods - https://cocoapods.org
4 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Generated by CocoaPods - https://cocoapods.org
18 | Title
19 |
20 | Type
21 | PSGroupSpecifier
22 |
23 |
24 | StringsTable
25 | Acknowledgements
26 | Title
27 | Acknowledgements
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_MCPageViewController_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_MCPageViewController_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_MCPageViewController_TestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_MCPageViewController_TestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension/MCComponentExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction/MCComponentFunction.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI/MCComponentPublicUI.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController/MCPageViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
4 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "MCComponentExtension" -framework "MCComponentFunction" -framework "MCComponentPublicUI" -framework "MCPageViewController" -framework "MJRefresh" -framework "SnapKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
8 | PODS_ROOT = ${SRCROOT}/Pods
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_MCPageViewController_Tests {
2 | umbrella header "Pods-MCPageViewController_Tests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-MCPageViewController_Tests/Pods-MCPageViewController_Tests.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher/Kingfisher.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentExtension/MCComponentExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentFunction/MCComponentFunction.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCComponentPublicUI/MCComponentPublicUI.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MCPageViewController/MCPageViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
4 | OTHER_LDFLAGS = $(inherited) -framework "Alamofire" -framework "CFNetwork" -framework "Kingfisher" -framework "MCComponentExtension" -framework "MCComponentFunction" -framework "MCComponentPublicUI" -framework "MCPageViewController" -framework "MJRefresh" -framework "SnapKit"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
8 | PODS_ROOT = ${SRCROOT}/Pods
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.2.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SnapKit : NSObject
3 | @end
4 | @implementation PodsDummy_SnapKit
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double SnapKitVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit.modulemap:
--------------------------------------------------------------------------------
1 | framework module SnapKit {
2 | umbrella header "SnapKit-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/SnapKit/SnapKit.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Example/Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Example/Tests/Tests.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 | //import MCPageViewController
3 |
4 | class Tests: XCTestCase {
5 |
6 | override func setUp() {
7 | super.setUp()
8 | // Put setup code here. This method is called before the invocation of each test method in the class.
9 | }
10 |
11 | override func tearDown() {
12 | // Put teardown code here. This method is called after the invocation of each test method in the class.
13 | super.tearDown()
14 | }
15 |
16 | func testExample() {
17 | // This is an example of a functional test case.
18 | XCTAssert(true, "Pass")
19 | }
20 |
21 | func testPerformanceExample() {
22 | // This is an example of a performance test case.
23 | self.measure() {
24 | // Put the code you want to measure the time of here.
25 | }
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 562863544@qq.com <13761066392@163.com>
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/MCPageViewController.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint MCPageViewController.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 |
10 | Pod::Spec.new do |s|
11 | s.name = "MCPageViewController"
12 | s.version = "5.4.3"
13 | s.summary = "分页控制器: 支持分类栏在navigationBar上,滑动置顶等功能。"
14 | s.homepage = "https://github.com/mancongiOS/MCPageViewController"
15 | s.license = "MIT"
16 | s.author = { "MC" => "562863544@qq.com" }
17 | s.platform = :ios, "7.0"
18 | s.source = { :git => "https://github.com/mancongiOS/MCPageViewController.git", :tag => "#{s.version}" }
19 | s.source_files = 'MCPageViewController/Classes/**/*'
20 | s.swift_version = '5.0'
21 | s.ios.deployment_target = '8.0'
22 |
23 | s.dependency 'SnapKit'
24 |
25 |
26 | end
27 |
--------------------------------------------------------------------------------
/MCPageViewController/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/MCPageViewController/.DS_Store
--------------------------------------------------------------------------------
/MCPageViewController/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/MCPageViewController/Assets/.gitkeep
--------------------------------------------------------------------------------
/MCPageViewController/Classes/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/MCPageViewController/Classes/.DS_Store
--------------------------------------------------------------------------------
/MCPageViewController/Classes/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/MCPageViewController/Classes/.gitkeep
--------------------------------------------------------------------------------
/MCPageViewController/Classes/HangCategory/MCBaseTableView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCBaseTableView.swift
3 | // MCPageViewController_Example
4 | //
5 | // Created by 满聪 on 2019/4/26.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 |
12 |
13 |
14 | open class MCBaseTableView: UITableView, UIGestureRecognizerDelegate {
15 |
16 | public var barHeight: CGFloat = 0
17 |
18 | public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
19 |
20 |
21 | let currentPoint: CGPoint = gestureRecognizer.location(in: self)
22 |
23 |
24 | let height = (self.tableFooterView?.frame.size.height ?? 0) - barHeight
25 |
26 | let segmentViewContentScrollViewHeight: CGFloat = height > 0 ? height : barHeight
27 |
28 | let contentRect = CGRect.init(x: 0, y: self.contentSize.height - segmentViewContentScrollViewHeight, width: UIDevice.width, height: segmentViewContentScrollViewHeight)
29 |
30 | if contentRect.contains(currentPoint) {
31 | return true
32 | }
33 | return false
34 | }
35 | }
36 |
37 |
38 |
39 | extension UIDevice {
40 |
41 |
42 | ///屏幕宽
43 | fileprivate static let width: CGFloat = UIScreen.main.bounds.size.width
44 |
45 | ///屏幕高
46 | fileprivate static let height: CGFloat = UIScreen.main.bounds.size.height
47 |
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/MCPageViewController/Classes/HangCategory/MCPageChildViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCPageChildViewController.swift
3 | // FLAnimatedImage
4 | //
5 | // Created by 满聪 on 2019/4/26.
6 | //
7 |
8 | import UIKit
9 |
10 | public protocol MCPageChildViewControllerDelegate: NSObjectProtocol {
11 | func pageChildViewControllerLeaveTop(_ childViewController: MCPageChildViewController)
12 | }
13 |
14 | open class MCPageChildViewController: UIViewController {
15 |
16 | public weak var delegate: MCPageChildViewControllerDelegate?
17 |
18 |
19 | public var pageIndex: Int = 0
20 |
21 |
22 | private var canScroll: Bool = false
23 |
24 | private lazy var scrollView = UIScrollView()
25 |
26 |
27 | public func makePageViewControllerScroll(canScroll: Bool) {
28 |
29 | self.canScroll = canScroll;
30 | self.scrollView.showsVerticalScrollIndicator = canScroll;
31 | if (!canScroll) {
32 | self.scrollView.contentOffset = CGPoint.zero
33 | }
34 | }
35 |
36 | public func makePageViewControllerScrollToTop() {
37 | scrollView.contentOffset = CGPoint.zero
38 | }
39 |
40 | /// 子类重写该方法可以监听scrollViewDidScroll方法
41 | open func pageChildViewControllerScrollViewScroll(_ scrollView: UIScrollView) {
42 |
43 | }
44 |
45 | }
46 |
47 | extension MCPageChildViewController: UIScrollViewDelegate {
48 | public func scrollViewDidScroll(_ scrollView: UIScrollView) {
49 |
50 | self.scrollView = scrollView
51 |
52 | pageChildViewControllerScrollViewScroll(scrollView)
53 |
54 |
55 | if (self.canScroll) {
56 | let offsetY = scrollView.contentOffset.y
57 | if (offsetY <= 0) {
58 | makePageViewControllerScroll(canScroll: false)
59 | delegate?.pageChildViewControllerLeaveTop(self)
60 | }
61 | } else {
62 | makePageViewControllerScroll(canScroll: false)
63 | }
64 | }
65 | }
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/MCPageViewController/Classes/MCCategoryBar/MCIndicatorView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MCIndicatorView.swift
3 | // Alamofire
4 | //
5 | // Created by 满聪 on 2019/6/3.
6 | //
7 |
8 | import UIKit
9 | import Foundation
10 |
11 |
12 | open class MCIndicatorView: UIView {
13 |
14 | override init(frame: CGRect) {
15 | super.init(frame: frame)
16 |
17 | }
18 |
19 | required public init?(coder aDecoder: NSCoder) {
20 | fatalError("init(coder:) has not been implemented")
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Resources/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Resources/.DS_Store
--------------------------------------------------------------------------------
/Resources/demo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Resources/demo1.png
--------------------------------------------------------------------------------
/Resources/demo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Resources/demo2.png
--------------------------------------------------------------------------------
/Resources/demo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Resources/demo3.png
--------------------------------------------------------------------------------
/Resources/demoGif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/iAmMccc/MCPageViewController/62fb6565cbba639fddf4f914dfb7edc677c8566a/Resources/demoGif.gif
--------------------------------------------------------------------------------
/_Pods 2.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------