├── Pods ├── Headers │ ├── Private │ │ ├── Mantle │ │ │ ├── Mantle.h │ │ │ ├── MTLModel.h │ │ │ ├── MTLJSONAdapter.h │ │ │ ├── MTLReflection.h │ │ │ ├── metamacros.h │ │ │ ├── MTLEXTScope.h │ │ │ ├── MTLModel+NSCoding.h │ │ │ ├── MTLValueTransformer.h │ │ │ ├── MTLEXTKeyPathCoding.h │ │ │ ├── MTLManagedObjectAdapter.h │ │ │ ├── NSError+MTLModelException.h │ │ │ ├── MTLEXTRuntimeExtensions.h │ │ │ ├── NSObject+MTLComparisonAdditions.h │ │ │ ├── NSArray+MTLManipulationAdditions.h │ │ │ ├── NSDictionary+MTLManipulationAdditions.h │ │ │ ├── NSValueTransformer+MTLInversionAdditions.h │ │ │ └── NSValueTransformer+MTLPredefinedTransformerAdditions.h │ │ ├── Masonry │ │ │ ├── Masonry.h │ │ │ ├── MASUtilities.h │ │ │ ├── MASConstraint.h │ │ │ ├── MASViewAttribute.h │ │ │ ├── MASViewConstraint.h │ │ │ ├── View+MASAdditions.h │ │ │ ├── MASConstraintMaker.h │ │ │ ├── MASLayoutConstraint.h │ │ │ ├── NSArray+MASAdditions.h │ │ │ ├── MASCompositeConstraint.h │ │ │ ├── MASConstraint+Private.h │ │ │ ├── View+MASShorthandAdditions.h │ │ │ ├── ViewController+MASAdditions.h │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ └── NSLayoutConstraint+MASDebugAdditions.h │ │ └── SDWebImage │ │ │ ├── SDImageCache.h │ │ │ ├── UIImage+GIF.h │ │ │ ├── UIView+WebCache.h │ │ │ ├── NSImage+WebCache.h │ │ │ ├── SDImageCacheConfig.h │ │ │ ├── SDWebImageCompat.h │ │ │ ├── SDWebImageDecoder.h │ │ │ ├── SDWebImageManager.h │ │ │ ├── UIButton+WebCache.h │ │ │ ├── SDWebImageDownloader.h │ │ │ ├── SDWebImageOperation.h │ │ │ ├── SDWebImagePrefetcher.h │ │ │ ├── UIImage+MultiFormat.h │ │ │ ├── UIImageView+WebCache.h │ │ │ ├── NSData+ImageContentType.h │ │ │ ├── UIView+WebCacheOperation.h │ │ │ ├── SDWebImageDownloaderOperation.h │ │ │ └── UIImageView+HighlightedWebCache.h │ └── Public │ │ ├── Mantle │ │ ├── Mantle.h │ │ ├── MTLModel.h │ │ ├── MTLJSONAdapter.h │ │ ├── MTLReflection.h │ │ ├── MTLModel+NSCoding.h │ │ ├── MTLValueTransformer.h │ │ ├── MTLManagedObjectAdapter.h │ │ ├── NSError+MTLModelException.h │ │ ├── NSArray+MTLManipulationAdditions.h │ │ ├── NSObject+MTLComparisonAdditions.h │ │ ├── NSDictionary+MTLManipulationAdditions.h │ │ ├── NSValueTransformer+MTLInversionAdditions.h │ │ └── NSValueTransformer+MTLPredefinedTransformerAdditions.h │ │ ├── Masonry │ │ ├── Masonry.h │ │ ├── MASConstraint.h │ │ ├── MASUtilities.h │ │ ├── MASConstraintMaker.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewConstraint.h │ │ ├── View+MASAdditions.h │ │ ├── MASLayoutConstraint.h │ │ ├── NSArray+MASAdditions.h │ │ ├── MASCompositeConstraint.h │ │ ├── MASConstraint+Private.h │ │ ├── View+MASShorthandAdditions.h │ │ ├── ViewController+MASAdditions.h │ │ ├── NSArray+MASShorthandAdditions.h │ │ └── NSLayoutConstraint+MASDebugAdditions.h │ │ └── SDWebImage │ │ ├── UIImage+GIF.h │ │ ├── SDImageCache.h │ │ ├── NSImage+WebCache.h │ │ ├── SDWebImageCompat.h │ │ ├── UIView+WebCache.h │ │ ├── SDImageCacheConfig.h │ │ ├── SDWebImageDecoder.h │ │ ├── SDWebImageManager.h │ │ ├── UIButton+WebCache.h │ │ ├── SDWebImageDownloader.h │ │ ├── SDWebImageOperation.h │ │ ├── SDWebImagePrefetcher.h │ │ ├── UIImage+MultiFormat.h │ │ ├── UIImageView+WebCache.h │ │ ├── NSData+ImageContentType.h │ │ ├── UIView+WebCacheOperation.h │ │ ├── SDWebImageDownloaderOperation.h │ │ └── UIImageView+HighlightedWebCache.h ├── Target Support Files │ ├── Mantle │ │ ├── Mantle-dummy.m │ │ ├── Mantle-prefix.pch │ │ └── Mantle.xcconfig │ ├── Masonry │ │ ├── Masonry-dummy.m │ │ ├── Masonry-prefix.pch │ │ └── Masonry.xcconfig │ ├── SDWebImage │ │ ├── SDWebImage-dummy.m │ │ ├── SDWebImage-prefix.pch │ │ └── SDWebImage.xcconfig │ └── Pods-SYLongPressDragSort │ │ ├── Pods-SYLongPressDragSort-dummy.m │ │ ├── Pods-SYLongPressDragSort.debug.xcconfig │ │ └── Pods-SYLongPressDragSort.release.xcconfig ├── Masonry │ ├── Masonry │ │ ├── MASLayoutConstraint.m │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── MASLayoutConstraint.h │ │ ├── MASCompositeConstraint.h │ │ ├── Masonry.h │ │ ├── ViewController+MASAdditions.h │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── MASViewAttribute.m │ │ ├── MASViewAttribute.h │ │ ├── ViewController+MASAdditions.m │ │ ├── MASViewConstraint.h │ │ ├── MASConstraint+Private.h │ │ └── NSArray+MASAdditions.h │ └── LICENSE ├── Mantle │ ├── Mantle │ │ ├── extobjc │ │ │ ├── MTLEXTScope.m │ │ │ └── MTLEXTKeyPathCoding.h │ │ ├── NSObject+MTLComparisonAdditions.m │ │ ├── NSObject+MTLComparisonAdditions.h │ │ ├── NSValueTransformer+MTLInversionAdditions.h │ │ ├── NSError+MTLModelException.h │ │ ├── NSValueTransformer+MTLInversionAdditions.m │ │ ├── NSDictionary+MTLManipulationAdditions.m │ │ ├── Mantle.h │ │ ├── NSDictionary+MTLManipulationAdditions.h │ │ ├── NSArray+MTLManipulationAdditions.h │ │ ├── NSArray+MTLManipulationAdditions.m │ │ ├── MTLValueTransformer.h │ │ ├── NSError+MTLModelException.m │ │ ├── MTLReflection.h │ │ ├── MTLReflection.m │ │ └── MTLValueTransformer.m │ └── LICENSE.md ├── SDWebImage │ ├── SDWebImage │ │ ├── SDWebImageOperation.h │ │ ├── NSImage+WebCache.h │ │ ├── UIImage+MultiFormat.h │ │ ├── SDWebImageDecoder.h │ │ ├── SDImageCacheConfig.m │ │ ├── UIImage+GIF.h │ │ ├── NSImage+WebCache.m │ │ ├── NSData+ImageContentType.h │ │ ├── SDImageCacheConfig.h │ │ ├── UIView+WebCacheOperation.h │ │ ├── NSData+ImageContentType.m │ │ ├── UIImage+GIF.m │ │ ├── SDWebImageCompat.m │ │ ├── UIImageView+HighlightedWebCache.m │ │ ├── UIView+WebCacheOperation.m │ │ └── UIView+WebCache.h │ └── LICENSE ├── Manifest.lock └── Pods.xcodeproj │ └── xcuserdata │ └── zhangsuya.xcuserdatad │ └── xcschemes │ ├── xcschememanagement.plist │ ├── Mantle.xcscheme │ ├── Masonry.xcscheme │ ├── SDWebImage.xcscheme │ └── Pods-SYLongPressDragSort.xcscheme ├── SYLongPressDragSort ├── 1.gif ├── Assets.xcassets │ ├── Home │ │ ├── Contents.json │ │ ├── moji1.imageset │ │ │ ├── moji1.png │ │ │ └── Contents.json │ │ ├── moji2.imageset │ │ │ ├── moji2.png │ │ │ └── Contents.json │ │ ├── moji3.imageset │ │ │ ├── moji3.png │ │ │ └── Contents.json │ │ ├── moji4.imageset │ │ │ ├── moji4.png │ │ │ └── Contents.json │ │ ├── icon_up.imageset │ │ │ ├── icon_up.png │ │ │ ├── icon_up@2x.png │ │ │ ├── icon_up@3x.png │ │ │ └── Contents.json │ │ ├── icon_dow.imageset │ │ │ ├── icon_dow.png │ │ │ ├── icon_dow@2x.png │ │ │ ├── icon_dow@3x.png │ │ │ └── Contents.json │ │ ├── icon_data.imageset │ │ │ ├── icon_data.png │ │ │ ├── icon_data@2x.png │ │ │ ├── icon_data@3x.png │ │ │ └── Contents.json │ │ ├── icon_flat.imageset │ │ │ ├── icon_flat.png │ │ │ ├── icon_flat@2x.png │ │ │ ├── icon_flat@3x.png │ │ │ └── Contents.json │ │ ├── icon_setup.imageset │ │ │ ├── icon_setup.png │ │ │ ├── icon_setup@2x.png │ │ │ ├── icon_setup@3x.png │ │ │ └── Contents.json │ │ ├── icon_add_01.imageset │ │ │ ├── icon_add_01.png │ │ │ ├── icon_add_01@2x.png │ │ │ ├── icon_add_01@3x.png │ │ │ └── Contents.json │ │ ├── icon_comment.imageset │ │ │ ├── icon_comment.png │ │ │ ├── icon_comment@2x.png │ │ │ ├── icon_comment@3x.png │ │ │ └── Contents.json │ │ ├── icon_opinion.imageset │ │ │ ├── icon_opinion.png │ │ │ ├── icon_opinion@2x.png │ │ │ ├── icon_opinion@3x.png │ │ │ └── Contents.json │ │ ├── jurisdiction.imageset │ │ │ ├── jurisdiction.png │ │ │ ├── jurisdiction@2x.png │ │ │ ├── jurisdiction@3x.png │ │ │ └── Contents.json │ │ ├── icon_close_01.imageset │ │ │ ├── icon_close_01.png │ │ │ ├── icon_close_01@2x.png │ │ │ ├── icon_close_01@3x.png │ │ │ └── Contents.json │ │ ├── icon_order_home.imageset │ │ │ ├── icon_order.png │ │ │ ├── icon_order@2x.png │ │ │ ├── icon_order@3x.png │ │ │ └── Contents.json │ │ ├── icon_setup_02.imageset │ │ │ ├── icon_setup_02.png │ │ │ ├── icon_setup_02@2x.png │ │ │ ├── icon_setup_02@3x.png │ │ │ └── Contents.json │ │ ├── iconfeiniu_bg.imageset │ │ │ ├── iconfeiniu_bg.png │ │ │ ├── iconfeiniu_bg@2x.png │ │ │ ├── iconfeiniu_bg@3x.png │ │ │ └── Contents.json │ │ ├── icon_commodity.imageset │ │ │ ├── icon_commodity.png │ │ │ ├── icon_commodity@2x.png │ │ │ ├── icon_commodity@3x.png │ │ │ └── Contents.json │ │ ├── icon_marketing.imageset │ │ │ ├── icon_marketing.png │ │ │ ├── icon_marketing@2x.png │ │ │ ├── icon_marketing@3x.png │ │ │ └── Contents.json │ │ ├── home_cover_desc.imageset │ │ │ ├── home_cover_desc.png │ │ │ ├── home_cover_desc@2x.png │ │ │ ├── home_cover_desc@3x.png │ │ │ └── Contents.json │ │ ├── home_cover_button.imageset │ │ │ ├── home_cover_button.png │ │ │ ├── home_cover_button@2x.png │ │ │ ├── home_cover_button@3x.png │ │ │ └── Contents.json │ │ ├── icon_distribution.imageset │ │ │ ├── icon_distribution.png │ │ │ ├── icon_distribution@2x.png │ │ │ ├── icon_distribution@3x.png │ │ │ └── Contents.json │ │ └── home_cover_line_ts.imageset │ │ │ ├── home_cover_line_ts.png │ │ │ ├── home_cover_line_ts@2x.png │ │ │ ├── home_cover_line_ts@3x.png │ │ │ └── Contents.json │ └── AppIcon.appiconset │ │ └── Contents.json ├── Home │ ├── Views │ │ ├── FNSwitch.h │ │ ├── FNMCollectionView.h │ │ ├── FNDsrInfoFooterView.h │ │ ├── FNHomeCoverView.h │ │ ├── FNStoreDsrInfoHeaderReusableView.h │ │ ├── FNDsrInfoFooterView.m │ │ ├── FNStoreDsrInfosCollectionViewCell.h │ │ ├── FNHomeSettingTableViewCell.h │ │ ├── FNStoreCollectionViewCell.h │ │ ├── FNStoreAddBiInfoCollectionViewCell.h │ │ ├── FNStoreDsrInfoHeaderReusableView.m │ │ ├── FNStoreManagementInfoCollectionViewCell.h │ │ ├── FNStoreAddBiInfoCollectionViewCell.m │ │ ├── FNStoreBiInfoCollectionViewCell.h │ │ ├── FNSwitch.m │ │ ├── FNMCollectionView.m │ │ ├── FNStoreCollectionViewCell.m │ │ ├── FNStoreDsrInfosCollectionViewCell.m │ │ ├── FNStoreAddBiInfoCollectionViewCell.xib │ │ └── FNHomeSettingTableViewCell.m │ ├── ViewControllers │ │ ├── FNHomeNoPermissionViewController.h │ │ ├── SYLHomePageViewController.h │ │ ├── SYLSecondHomePageViewController.h │ │ ├── FNHomeSettingViewController.h │ │ └── FNHomeNoPermissionViewController.m │ ├── Models │ │ ├── FNSaveBiSettingModel.h │ │ ├── FNSaveBiSortParameterModel.h │ │ ├── FNSaveStoreManagementSettingModel.h │ │ ├── FNPermissionInfoResponseModel.h │ │ ├── FNSaveBiSortParameterModel.m │ │ ├── FNGetPermissionInfoModel.h │ │ ├── FNGetPermissionInfoModel.m │ │ ├── FNPermissionInfoResponseModel.m │ │ ├── FNGetBiSettingModel.h │ │ ├── FNSaveBiSettingModel.m │ │ ├── FNSaveStoreManagementSettingModel.m │ │ ├── FNGetStoreManagementSettingModel.h │ │ ├── FNGetBiSettingModel.m │ │ ├── FNGetStoreManagementSettingModel.m │ │ └── FNHomeInfoModel.h │ └── ViewModels │ │ └── FNHomeViewModel.h ├── TabBar │ ├── ViewModels │ │ ├── MDTabBarVM.m │ │ └── MDTabBarVM.h │ ├── Views │ │ ├── SYLTabBarButton.h │ │ ├── SYLTabBar.h │ │ └── SYLTabBarButton.m │ └── Controllers │ │ └── SYLTabBarViewController.h ├── ViewController.h ├── Categories │ ├── NSData+Add.h │ ├── NSMutableArray+Add.h │ ├── UIColor+Hex.h │ ├── NSData+Add.m │ ├── NSMutableArray+Add.m │ ├── UIView+Additions.h │ └── UIColor+Hex.m ├── AppDelegate.h ├── main.m ├── ViewController.m ├── Info.plist ├── Base.lproj │ ├── Main.storyboard │ └── LaunchScreen.storyboard ├── SYLMacros.h ├── SYLongPressDragSort-Prefix.pch └── AppDelegate.m ├── README.md ├── SYLongPressDragSort.xcodeproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── zhangsuya.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── SYLongPressDragSort.xcworkspace ├── contents.xcworkspacedata └── xcuserdata │ └── zhangsuya.xcuserdatad │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── Podfile ├── Podfile.lock ├── SYLongPressDragSortTests ├── Info.plist └── SYLongPressDragSortTests.m └── SYLongPressDragSortUITests ├── Info.plist └── SYLongPressDragSortUITests.m /Pods/Headers/Private/Mantle/Mantle.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/Mantle.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/Mantle.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/Mantle.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLModel.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLModel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/MTLModel.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLModel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLJSONAdapter.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLJSONAdapter.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLReflection.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLReflection.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/metamacros.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/extobjc/metamacros.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/MTLJSONAdapter.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLJSONAdapter.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/MTLReflection.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLReflection.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLEXTScope.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/extobjc/MTLEXTScope.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/MTLModel+NSCoding.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLModel+NSCoding.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+GIF.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLModel+NSCoding.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLModel+NSCoding.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLValueTransformer.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLValueTransformer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+GIF.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/MTLValueTransformer.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLValueTransformer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/NSImage+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSImage+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageCompat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLEXTKeyPathCoding.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/extobjc/MTLEXTKeyPathCoding.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLManagedObjectAdapter.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLManagedObjectAdapter.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSImage+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSImage+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCacheConfig.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCacheConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageCompat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDecoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/MTLManagedObjectAdapter.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/MTLManagedObjectAdapter.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCacheConfig.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCacheConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDecoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/NSError+MTLModelException.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSError+MTLModelException.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/NSError+MTLModelException.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSError+MTLModelException.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/MTLEXTRuntimeExtensions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/extobjc/MTLEXTRuntimeExtensions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSData+ImageContentType.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSData+ImageContentType.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/NSObject+MTLComparisonAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSObject+MTLComparisonAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/NSArray+MTLManipulationAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSArray+MTLManipulationAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/NSObject+MTLComparisonAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSObject+MTLComparisonAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /SYLongPressDragSort/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/1.gif -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/NSArray+MTLManipulationAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSArray+MTLManipulationAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/NSDictionary+MTLManipulationAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSDictionary+MTLManipulationAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/NSDictionary+MTLManipulationAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSDictionary+MTLManipulationAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/NSValueTransformer+MTLInversionAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSValueTransformer+MTLInversionAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/NSValueTransformer+MTLInversionAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSValueTransformer+MTLInversionAdditions.h -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Pods/Headers/Public/Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Mantle/Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h -------------------------------------------------------------------------------- /Pods/Target Support Files/Mantle/Mantle-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Mantle : NSObject 3 | @end 4 | @implementation PodsDummy_Mantle 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji1.imageset/moji1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/moji1.imageset/moji1.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji2.imageset/moji2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/moji2.imageset/moji2.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji3.imageset/moji3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/moji3.imageset/moji3.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji4.imageset/moji4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/moji4.imageset/moji4.png -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SDWebImage : NSObject 3 | @end 4 | @implementation PodsDummy_SDWebImage 5 | @end 6 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/icon_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/icon_up.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/icon_dow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/icon_dow.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SYLongPressDragSort 2 | 一场长按拖动排序无bug之旅 3 | 4 | ![image](https://github.com/zhangsuya/SYLongPressDragSort/blob/master/SYLongPressDragSort/1.gif) 5 | 6 | 有什么问题可以邮箱联系我,或者issue我。也可以加QQ交流群:436043199 7 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/icon_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/icon_data.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/icon_dow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/icon_dow@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/icon_dow@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/icon_dow@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/icon_flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/icon_flat.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/icon_up@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/icon_up@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/icon_up@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/icon_up@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/icon_data@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/icon_data@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/icon_data@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/icon_data@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/icon_flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/icon_flat@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/icon_flat@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/icon_flat@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/icon_setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/icon_setup.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/icon_add_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/icon_add_01.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/icon_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/icon_comment.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/icon_opinion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/icon_opinion.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/icon_setup@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/icon_setup@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/icon_setup@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/icon_setup@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/jurisdiction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/jurisdiction.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/icon_add_01@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/icon_add_01@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/icon_add_01@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/icon_add_01@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/icon_close_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/icon_close_01.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/icon_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/icon_order.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/icon_setup_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/icon_setup_02.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/iconfeiniu_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/iconfeiniu_bg.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/icon_close_01@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/icon_close_01@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/icon_close_01@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/icon_close_01@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/icon_comment@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/icon_comment@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/icon_comment@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/icon_comment@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/icon_commodity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/icon_commodity.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/icon_marketing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/icon_marketing.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/icon_opinion@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/icon_opinion@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/icon_opinion@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/icon_opinion@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/icon_order@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/icon_order@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/icon_order@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/icon_order@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/icon_setup_02@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/icon_setup_02@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/icon_setup_02@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/icon_setup_02@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/iconfeiniu_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/iconfeiniu_bg@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/iconfeiniu_bg@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/iconfeiniu_bg@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/jurisdiction@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/jurisdiction@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/jurisdiction@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/jurisdiction@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/home_cover_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/home_cover_desc.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/icon_commodity@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/icon_commodity@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/icon_commodity@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/icon_commodity@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/icon_marketing@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/icon_marketing@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/icon_marketing@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/icon_marketing@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/home_cover_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/home_cover_button.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/home_cover_desc@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/home_cover_desc@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/home_cover_desc@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/home_cover_desc@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/icon_distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/icon_distribution.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/home_cover_line_ts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/home_cover_line_ts.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/home_cover_button@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/home_cover_button@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/home_cover_button@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/home_cover_button@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/home_cover_line_ts@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/home_cover_line_ts@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/home_cover_line_ts@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/home_cover_line_ts@3x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/icon_distribution@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/icon_distribution@2x.png -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/icon_distribution@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangsuya/SYLongPressDragSort/HEAD/SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/icon_distribution@3x.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-SYLongPressDragSort/Pods-SYLongPressDragSort-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_SYLongPressDragSort : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_SYLongPressDragSort 5 | @end 6 | -------------------------------------------------------------------------------- /SYLongPressDragSort.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNSwitch.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNSwitch.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/8/29. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FNSwitch : UISwitch 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/TabBar/ViewModels/MDTabBarVM.m: -------------------------------------------------------------------------------- 1 | // 2 | // MDTabBarVM.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/30. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "MDTabBarVM.h" 10 | 11 | @implementation MDTabBarVM 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Mantle/Mantle-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-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 | -------------------------------------------------------------------------------- /SYLongPressDragSort/TabBar/ViewModels/MDTabBarVM.h: -------------------------------------------------------------------------------- 1 | // 2 | // MDTabBarVM.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/30. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MDTabBarVM : NSObject 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/TabBar/Views/SYLTabBarButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // MDTabBarButton.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/26. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SYLTabBarButton : UIButton 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNMCollectionView.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNMCollectionView.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/7/12. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FNMCollectionView : UICollectionView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASLayoutConstraint.h" 10 | 11 | @implementation MASLayoutConstraint 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNDsrInfoFooterView.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNDsrInfoFooterView.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/29. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FNDsrInfoFooterView : UICollectionReusableView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/NSData+Add.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSData+Add.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/18. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSData (Add) 12 | + (NSData *)dataNamed:(NSString *)name; 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/ViewControllers/FNHomeNoPermissionViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNHomeNoPermissionViewController.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/7/4. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | 10 | @interface FNHomeNoPermissionViewController : UIViewController 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/ViewControllers/SYLHomePageViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SYLHomePageViewController.h 3 | // 4 | // 5 | // Created by 张苏亚 on 16/6/17. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | //#import "FNBaseViewController.h" 10 | 11 | @interface SYLHomePageViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'SYLongPressDragSort' do 5 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks 6 | # use_frameworks! 7 | 8 | pod 'Masonry', '~> 0.6.4' 9 | pod 'Mantle', '~> 1.5.4' 10 | pod 'SDWebImage' 11 | end 12 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNHomeCoverView.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNHomeCoverView.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/28. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FNHomeCoverView : UIView 12 | 13 | //展示遮罩页 14 | -(void)show; 15 | //关闭遮罩页 16 | -(void)close; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/ViewControllers/SYLSecondHomePageViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SYLSecondHomePageViewController.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/26. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SYLSecondHomePageViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SYLongPressDragSort/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/extobjc/MTLEXTScope.m: -------------------------------------------------------------------------------- 1 | // 2 | // EXTScope.m 3 | // extobjc 4 | // 5 | // Created by Justin Spahr-Summers on 2011-05-04. 6 | // Copyright (C) 2012 Justin Spahr-Summers. 7 | // Released under the MIT license. 8 | // 9 | 10 | #import "MTLEXTScope.h" 11 | 12 | void mtl_executeCleanupBlock (__strong mtl_cleanupBlock_t *block) { 13 | (*block)(); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreDsrInfoHeaderReusableView.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreDsrInfoHeaderReusableView.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/6/2. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FNStoreDsrInfoHeaderReusableView : UICollectionReusableView 12 | 13 | 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/TabBar/Controllers/SYLTabBarViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SYLTabBarViewController.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/26. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class SYLTabBar; 12 | 13 | @interface SYLTabBarViewController : UITabBarController 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/NSMutableArray+Add.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableArray+Add.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/18. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSMutableArray (Add) 12 | 13 | - (void)moveObjectFromIndex:(NSUInteger)from toIndex:(NSUInteger)to ; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNSaveBiSettingModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNSaveBiSettingModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/21. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | #import 9 | #import 10 | 11 | @interface FNSaveBiSettingModel : MTLModel 12 | 13 | @property (nonatomic,strong)NSArray *datalist; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNDsrInfoFooterView.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNDsrInfoFooterView.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/29. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNDsrInfoFooterView.h" 10 | 11 | @implementation FNDsrInfoFooterView 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | // Initialization code 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /SYLongPressDragSort/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNSaveBiSortParameterModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNSaveBiSortParameterModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/23. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | #import 9 | #import 10 | 11 | @interface FNSaveBiSortParameterModel : MTLModel 12 | 13 | @property (nonatomic,copy) NSString *sort; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/UIColor+Hex.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+Hex.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/27. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIColor (Hex) 12 | 13 | + (UIColor *)colorWithHexString:(NSString *)color; 14 | 15 | + (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha; 16 | 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | 11 | @protocol SDWebImageOperation 12 | 13 | - (void)cancel; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNSaveStoreManagementSettingModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNSaveStoreManagementSettingModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/21. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface FNSaveStoreManagementSettingModel : MTLModel 13 | @property (nonatomic,strong)NSArray *datalist; 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNPermissionInfoResponseModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNPermissionInfoResponseModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/23. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | #import 9 | #import 10 | 11 | @interface FNPermissionInfoResponseModel : MTLModel 12 | 13 | @property (nonatomic, strong) NSNumber *isHavePermission; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "moji1.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 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "moji2.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 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "moji3.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 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/moji4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "moji4.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 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNSaveBiSortParameterModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNSaveBiSortParameterModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/23. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNSaveBiSortParameterModel.h" 10 | 11 | @implementation FNSaveBiSortParameterModel 12 | 13 | +(NSDictionary *)JSONKeyPathsByPropertyKey { 14 | return @{ 15 | @"sort":@"body.sort"}; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNGetPermissionInfoModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNGetPermissionInfoModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/23. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | @interface FNGetPermissionInfoModel : MTLModel 12 | 13 | @property (nonatomic,copy)NSString *code; 14 | @property (nonatomic,copy)NSString *name; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreDsrInfosCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNNewStoreBiDsrInfosCollectionViewCell.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/6/15. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "FNHomeInfoModel.h" 11 | 12 | @interface FNStoreDsrInfosCollectionViewCell : UICollectionViewCell 13 | 14 | @property (nonatomic,strong) FNStoreDsrInfoModel *dsrInfoModel; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNGetPermissionInfoModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNGetPermissionInfoModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/23. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNGetPermissionInfoModel.h" 10 | 11 | @implementation FNGetPermissionInfoModel 12 | 13 | +(NSDictionary *)JSONKeyPathsByPropertyKey { 14 | return @{ 15 | @"code":@"body.code", 16 | @"name":@"body.name" 17 | }; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSObject+MTLComparisonAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+MTLComparisonAdditions.m 3 | // Mantle 4 | // 5 | // Created by Josh Vera on 10/26/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | // Portions copyright (c) 2011 Bitswift. All rights reserved. 9 | // See the LICENSE file for more information. 10 | // 11 | 12 | #import "NSObject+MTLComparisonAdditions.h" 13 | 14 | BOOL MTLEqualObjects(id obj1, id obj2) { 15 | return (obj1 == obj2 || [obj1 isEqual:obj2]); 16 | } 17 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSObject+MTLComparisonAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+MTLComparisonAdditions.h 3 | // Mantle 4 | // 5 | // Created by Josh Vera on 10/26/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | // Portions copyright (c) 2011 Bitswift. All rights reserved. 9 | // See the LICENSE file for more information. 10 | // 11 | 12 | #import 13 | 14 | // Returns whether both objects are identical or equal via -isEqual: 15 | BOOL MTLEqualObjects(id obj1, id obj2); 16 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNPermissionInfoResponseModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNPermissionInfoResponseModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/23. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNPermissionInfoResponseModel.h" 10 | 11 | @implementation FNPermissionInfoResponseModel 12 | 13 | +(NSDictionary *)JSONKeyPathsByPropertyKey { 14 | return @{ 15 | @"isHavePermission":@"body.isHavePermission" 16 | }; 17 | } 18 | 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/NSData+Add.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSData+Add.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/18. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "NSData+Add.h" 10 | 11 | @implementation NSData (Add) 12 | + (NSData *)dataNamed:(NSString *)name { 13 | NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@""]; 14 | if (!path) return nil; 15 | NSData *data = [NSData dataWithContentsOfFile:path]; 16 | return data; 17 | } 18 | @end 19 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_up.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_up@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_up@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_data.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_data.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_data@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_data@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_dow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_dow.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_dow@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_dow@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_flat.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_flat.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_flat@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_flat@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/NSImage+WebCache.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if SD_MAC 12 | 13 | #import 14 | 15 | @interface NSImage (WebCache) 16 | 17 | - (CGImageRef)CGImage; 18 | - (NSArray *)images; 19 | - (BOOL)isGIF; 20 | 21 | @end 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_setup.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_setup@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_setup@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_add_01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_add_01.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_add_01@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_add_01@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_order_home.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_order.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_order@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_order@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_comment.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_comment.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_comment@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_comment@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_opinion.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_opinion.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_opinion@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_opinion@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/jurisdiction.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "jurisdiction.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "jurisdiction@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "jurisdiction@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_close_01.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_close_01.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_close_01@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_close_01@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_commodity.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_commodity.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_commodity@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_commodity@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_marketing.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_marketing.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_marketing@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_marketing@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_setup_02.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_setup_02.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_setup_02@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_setup_02@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/iconfeiniu_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfeiniu_bg.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "iconfeiniu_bg@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "iconfeiniu_bg@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_desc.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "home_cover_desc.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "home_cover_desc@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "home_cover_desc@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_button.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "home_cover_button.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "home_cover_button@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "home_cover_button@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/icon_distribution.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_distribution.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icon_distribution@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icon_distribution@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.xcassets/Home/home_cover_line_ts.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "home_cover_line_ts.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "home_cover_line_ts@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "home_cover_line_ts@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNHomeSettingTableViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNSettingTableViewCell.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/8/31. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "FNSwitch.h" 11 | 12 | @protocol FNHomeSettingTableViewCellDelegate 13 | 14 | -(void)settingSwitchChanged:(FNSwitch *)settingSwitch; 15 | 16 | @end 17 | 18 | @interface FNHomeSettingTableViewCell : UITableViewCell 19 | 20 | @property (nonatomic, assign) id delegate; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Mantle (1.5.8): 3 | - Mantle/extobjc (= 1.5.8) 4 | - Mantle/extobjc (1.5.8) 5 | - Masonry (0.6.4) 6 | - SDWebImage (4.0.0): 7 | - SDWebImage/Core (= 4.0.0) 8 | - SDWebImage/Core (4.0.0) 9 | 10 | DEPENDENCIES: 11 | - Mantle (~> 1.5.4) 12 | - Masonry (~> 0.6.4) 13 | - SDWebImage 14 | 15 | SPEC CHECKSUMS: 16 | Mantle: f03b2b606c3f0cabd80214ad8a2fed6b464a7359 17 | Masonry: 281802d04d787ea2973179ee8bcb50500579ede2 18 | SDWebImage: 76a6348bdc74eb5a55dd08a091ef298e56b55e41 19 | 20 | PODFILE CHECKSUM: 4527817bd6a171ae275f10d2ddd9746dc977f803 21 | 22 | COCOAPODS: 1.2.0 23 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Mantle (1.5.8): 3 | - Mantle/extobjc (= 1.5.8) 4 | - Mantle/extobjc (1.5.8) 5 | - Masonry (0.6.4) 6 | - SDWebImage (4.0.0): 7 | - SDWebImage/Core (= 4.0.0) 8 | - SDWebImage/Core (4.0.0) 9 | 10 | DEPENDENCIES: 11 | - Mantle (~> 1.5.4) 12 | - Masonry (~> 0.6.4) 13 | - SDWebImage 14 | 15 | SPEC CHECKSUMS: 16 | Mantle: f03b2b606c3f0cabd80214ad8a2fed6b464a7359 17 | Masonry: 281802d04d787ea2973179ee8bcb50500579ede2 18 | SDWebImage: 76a6348bdc74eb5a55dd08a091ef298e56b55e41 19 | 20 | PODFILE CHECKSUM: 4527817bd6a171ae275f10d2ddd9746dc977f803 21 | 22 | COCOAPODS: 1.2.0 23 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | #import "NSData+ImageContentType.h" 11 | 12 | @interface UIImage (MultiFormat) 13 | 14 | + (nullable UIImage *)sd_imageWithData:(nullable NSData *)data; 15 | - (nullable NSData *)sd_imageData; 16 | - (nullable NSData *)sd_imageDataAsFormat:(SDImageFormat)imageFormat; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASCompositeConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | #import "MASUtilities.h" 11 | 12 | /** 13 | * A group of MASConstraint objects 14 | */ 15 | @interface MASCompositeConstraint : MASConstraint 16 | 17 | /** 18 | * Creates a composite with a predefined array of children 19 | * 20 | * @param children child MASConstraints 21 | * 22 | * @return a composite constraint 23 | */ 24 | - (id)initWithChildren:(NSArray *)children; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) james 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import 11 | #import "SDWebImageCompat.h" 12 | 13 | @interface UIImage (ForceDecode) 14 | 15 | + (nullable UIImage *)decodedImageWithImage:(nullable UIImage *)image; 16 | 17 | + (nullable UIImage *)decodedAndScaledDownImageWithImage:(nullable UIImage *)image; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /SYLongPressDragSort/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreCollectionViewCell.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FNStoreCollectionViewCell : UICollectionViewCell 12 | 13 | @property (nonatomic, assign) BOOL hidenIcon; 14 | 15 | @property (nonatomic, strong) UIImage *iconImage; 16 | 17 | //@property (nonatomic, strong) UILabel *nameLabel; 18 | //@property (nonatomic, strong) UILabel *dataLabel; 19 | @property (nonatomic, strong) UIButton *iconView; 20 | 21 | //-(void)initConstraints; 22 | 23 | -(void)iconViewClicked; 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSValueTransformer+MTLInversionAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSValueTransformer+MTLInversionAdditions.h 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-18. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSValueTransformer (MTLInversionAdditions) 12 | 13 | // Flips the direction of the receiver's transformation, such that 14 | // -transformedValue: will become -reverseTransformedValue:, and vice-versa. 15 | // 16 | // The receiver must allow reverse transformation. 17 | // 18 | // Returns an inverted transformer. 19 | - (NSValueTransformer *)mtl_invertedTransformer; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/NSMutableArray+Add.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableArray+Add.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/18. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "NSMutableArray+Add.h" 10 | 11 | @implementation NSMutableArray (Add) 12 | - (void)moveObjectFromIndex:(NSUInteger)from toIndex:(NSUInteger)to { 13 | if (to != from) { 14 | id obj = [self objectAtIndex:from]; 15 | [self removeObjectAtIndex:from]; 16 | 17 | if (to >= [self count]) { 18 | [self addObject:obj]; 19 | } else { 20 | [self insertObject:obj atIndex:to]; 21 | } 22 | } 23 | } 24 | @end 25 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNGetBiSettingModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNGetBiSettingModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | #import 9 | #import 10 | 11 | @interface FNGetBiSettingModel : MTLModel 12 | 13 | @property (nonatomic,strong) NSArray *dataList; 14 | 15 | @end 16 | 17 | 18 | @interface FNBiSettingModel : MTLModel 19 | 20 | @property (nonatomic,copy) NSString *code; 21 | @property (nonatomic,copy) NSString *name; 22 | @property (nonatomic,strong) NSNumber *isVisible; 23 | @property (nonatomic,assign) NSInteger requestCount; 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDImageCacheConfig.m: -------------------------------------------------------------------------------- 1 | // 2 | // SDImageCacheConfig.m 3 | // SDWebImage 4 | // 5 | // Created by Bogdan on 09/09/16. 6 | // Copyright © 2016 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import "SDImageCacheConfig.h" 10 | 11 | static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week 12 | 13 | @implementation SDImageCacheConfig 14 | 15 | - (instancetype)init { 16 | if (self = [super init]) { 17 | _shouldDecompressImages = YES; 18 | _shouldDisableiCloud = YES; 19 | _shouldCacheImagesInMemory = YES; 20 | _maxCacheAge = kDefaultCacheMaxCacheAge; 21 | _maxCacheSize = 0; 22 | } 23 | return self; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Laurin Brandner 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import "SDWebImageCompat.h" 11 | 12 | @interface UIImage (GIF) 13 | 14 | /** 15 | * Compatibility method - creates an animated UIImage from an NSData, it will only contain the 1st frame image 16 | */ 17 | + (UIImage *)sd_animatedGIFWithData:(NSData *)data; 18 | 19 | /** 20 | * Checks if an UIImage instance is a GIF. Will use the `images` array 21 | */ 22 | - (BOOL)isGIF; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreAddBiInfoCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreAddBiInfoCollectionViewCell.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/6/15. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class FNStoreAddBiInfoCollectionViewCell; 12 | 13 | @protocol FNStoreAddBiInfoCollectionViewCellDelegate 14 | 15 | @optional 16 | 17 | //self 点击 18 | -(void)biInfoCellClicked:(FNStoreAddBiInfoCollectionViewCell *)cell; 19 | 20 | 21 | @end 22 | 23 | @interface FNStoreAddBiInfoCollectionViewCell : UICollectionViewCell 24 | 25 | @property (nonatomic, assign) id delegate; 26 | 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNSaveBiSettingModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNSaveBiSettingModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/21. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNSaveBiSettingModel.h" 10 | #import "FNGetBiSettingModel.h" 11 | #import "NSValueTransformer+MTLPredefinedTransformerAdditions.h" 12 | 13 | @implementation FNSaveBiSettingModel 14 | 15 | +(NSDictionary *)JSONKeyPathsByPropertyKey { 16 | return @{ 17 | @"datalist":@"body.datalist"}; 18 | } 19 | 20 | + (NSValueTransformer *)datalistJSONTransformer 21 | { 22 | return [NSValueTransformer mtl_JSONArrayTransformerWithModelClass: 23 | [FNBiSettingModel class]]; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSError+MTLModelException.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSError+MTLModelException.h 3 | // Mantle 4 | // 5 | // Created by Robert Böhnke on 7/6/13. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSError (MTLModelException) 12 | 13 | // Creates a new error for an exception that occured during updating an 14 | // MTLModel. 15 | // 16 | // exception - The exception that was thrown while updating the model. 17 | // This argument must not be nil. 18 | // 19 | // Returns an error that takes its localized description and failure reason 20 | // from the exception. 21 | + (instancetype)mtl_modelErrorWithException:(NSException *)exception; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNSaveStoreManagementSettingModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNSaveStoreManagementSettingModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/21. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNSaveStoreManagementSettingModel.h" 10 | #import "FNGetStoreManagementSettingModel.h" 11 | 12 | @implementation FNSaveStoreManagementSettingModel 13 | 14 | +(NSDictionary *)JSONKeyPathsByPropertyKey { 15 | return @{ 16 | @"datalist":@"body.datalist"}; 17 | } 18 | 19 | + (NSValueTransformer *)datalistJSONTransformer 20 | { 21 | return [NSValueTransformer mtl_JSONArrayTransformerWithModelClass: 22 | [FNStoreManagementSettingModel class]]; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Mantle/Mantle.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Mantle 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Mantle" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 4 | OTHER_LDFLAGS = -framework "Foundation" 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}/Mantle 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNGetStoreManagementSettingModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNGetStoreManagementSettingModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | #import 9 | #import 10 | 11 | @interface FNGetStoreManagementSettingModel : MTLModel 12 | 13 | @property (nonatomic,strong)NSArray *dataList; 14 | 15 | @end 16 | 17 | @interface FNStoreManagementSettingModel : MTLModel 18 | 19 | @property (nonatomic,copy) NSString *code; 20 | @property (nonatomic,copy) NSString *name; 21 | @property (nonatomic,strong) NSNumber *isVisible; 22 | @property (nonatomic,assign) NSInteger requestCount; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SDWebImage 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SDWebImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 4 | OTHER_LDFLAGS = -framework "ImageIO" 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}/SDWebImage 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Masonry 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 4 | OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" 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}/Masonry 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/ViewControllers/FNHomeSettingViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNHomeSettingViewController.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | //#import "FNBaseViewController.h" 10 | 11 | typedef NS_ENUM(NSInteger,FNHomeSettingViewControllerStyle) 12 | { 13 | FNHomeSettingViewControllerStyleBi = 0, 14 | FNHomeSettingViewControllerStyleManagement 15 | }; 16 | 17 | extern NSString *const FNManagementSettingVisibleChange; 18 | extern NSString *const FNBiSettingVisibleChange; 19 | 20 | @interface FNHomeSettingViewController : UIViewController 21 | 22 | -(instancetype)initWithViewControllerStyle:(FNHomeSettingViewControllerStyle )addItemViewControllerStyle; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSValueTransformer+MTLInversionAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSValueTransformer+MTLInversionAdditions.m 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-18. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSValueTransformer+MTLInversionAdditions.h" 10 | #import "MTLValueTransformer.h" 11 | 12 | @implementation NSValueTransformer (MTLInversionAdditions) 13 | 14 | - (NSValueTransformer *)mtl_invertedTransformer { 15 | NSParameterAssert(self.class.allowsReverseTransformation); 16 | 17 | return [MTLValueTransformer reversibleTransformerWithForwardBlock:^(id value) { 18 | return [self reverseTransformedValue:value]; 19 | } reverseBlock:^(id value) { 20 | return [self transformedValue:value]; 21 | }]; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/NSImage+WebCache.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "NSImage+WebCache.h" 10 | 11 | #if SD_MAC 12 | 13 | @implementation NSImage (WebCache) 14 | 15 | - (CGImageRef)CGImage { 16 | NSRect imageRect = NSMakeRect(0, 0, self.size.width, self.size.height); 17 | CGImageRef cgImage = [self CGImageForProposedRect:&imageRect context:NULL hints:nil]; 18 | return cgImage; 19 | } 20 | 21 | - (NSArray *)images { 22 | return nil; 23 | } 24 | 25 | - (BOOL)isGIF { 26 | return NO; 27 | } 28 | 29 | @end 30 | 31 | #endif 32 | 33 | -------------------------------------------------------------------------------- /SYLongPressDragSortTests/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 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /SYLongPressDragSortUITests/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 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSDictionary+MTLManipulationAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary+MTLManipulationAdditions.m 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2012-09-24. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSDictionary+MTLManipulationAdditions.h" 10 | 11 | @implementation NSDictionary (MTLManipulationAdditions) 12 | 13 | - (NSDictionary *)mtl_dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary { 14 | NSMutableDictionary *result = [self mutableCopy]; 15 | [result addEntriesFromDictionary:dictionary]; 16 | return result; 17 | } 18 | 19 | - (NSDictionary *)mtl_dictionaryByRemovingEntriesWithKeys:(NSSet *)keys { 20 | NSMutableDictionary *result = [self mutableCopy]; 21 | [result removeObjectsForKeys:keys.allObjects]; 22 | return result; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /SYLongPressDragSort.xcodeproj/xcuserdata/zhangsuya.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | SYLongPressDragSort.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FE3352B11EC590A7008189F0 16 | 17 | primary 18 | 19 | 20 | FE3352CA1EC590A8008189F0 21 | 22 | primary 23 | 24 | 25 | FE3352D51EC590A8008189F0 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreDsrInfoHeaderReusableView.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreDsrInfoHeaderReusableView.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/6/2. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "FNStoreDsrInfoHeaderReusableView.h" 10 | //#import "MDMacros.h" 11 | 12 | @interface FNStoreDsrInfoHeaderReusableView() 13 | 14 | @property (weak, nonatomic) IBOutlet UILabel *storeDsrRateLabel; 15 | @property (weak, nonatomic) IBOutlet UILabel *storeDsrThanLabel; 16 | 17 | @end 18 | 19 | @implementation FNStoreDsrInfoHeaderReusableView 20 | 21 | #pragma mark - Lifecycle 22 | 23 | - (void)awakeFromNib { 24 | [super awakeFromNib]; 25 | // Initialization code 26 | // 27 | 28 | } 29 | 30 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 31 | { 32 | [super touchesBegan:touches withEvent:event]; 33 | } 34 | @end 35 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNGetBiSettingModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNGetBiSettingModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNGetBiSettingModel.h" 10 | 11 | @implementation FNGetBiSettingModel 12 | 13 | + (NSDictionary *)JSONKeyPathsByPropertyKey 14 | { 15 | return @{ 16 | @"dataList" :@"body.dataList", 17 | }; 18 | 19 | } 20 | 21 | + (NSValueTransformer *)dataListJSONTransformer 22 | { 23 | return [NSValueTransformer mtl_JSONArrayTransformerWithModelClass:FNBiSettingModel.class]; 24 | } 25 | 26 | @end 27 | 28 | @implementation FNBiSettingModel 29 | 30 | + (NSDictionary *)JSONKeyPathsByPropertyKey 31 | { 32 | return @{ 33 | @"code" :@"code", 34 | @"name" :@"name", 35 | @"isVisible" :@"isVisible" 36 | }; 37 | 38 | } 39 | 40 | @end -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | // 2 | // Masonry.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for Masonry. 12 | FOUNDATION_EXPORT double MasonryVersionNumber; 13 | 14 | //! Project version string for Masonry. 15 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; 16 | 17 | #import "MASUtilities.h" 18 | #import "View+MASAdditions.h" 19 | #import "View+MASShorthandAdditions.h" 20 | #import "ViewController+MASAdditions.h" 21 | #import "NSArray+MASAdditions.h" 22 | #import "NSArray+MASShorthandAdditions.h" 23 | #import "MASConstraint.h" 24 | #import "MASCompositeConstraint.h" 25 | #import "MASViewAttribute.h" 26 | #import "MASViewConstraint.h" 27 | #import "MASConstraintMaker.h" 28 | #import "MASLayoutConstraint.h" 29 | #import "NSLayoutConstraint+MASDebugAdditions.h" 30 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Fabrice Aneche 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import 11 | #import "SDWebImageCompat.h" 12 | 13 | typedef NS_ENUM(NSInteger, SDImageFormat) { 14 | SDImageFormatUndefined = -1, 15 | SDImageFormatJPEG = 0, 16 | SDImageFormatPNG, 17 | SDImageFormatGIF, 18 | SDImageFormatTIFF, 19 | SDImageFormatWebP 20 | }; 21 | 22 | @interface NSData (ImageContentType) 23 | 24 | /** 25 | * Return image format 26 | * 27 | * @param data the input image data 28 | * 29 | * @return the image format as `SDImageFormat` (enum) 30 | */ 31 | + (SDImageFormat)sd_imageFormatForImageData:(nullable NSData *)data; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/Mantle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Mantle.h 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2012-09-04. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for Mantle. 12 | FOUNDATION_EXPORT double MantleVersionNumber; 13 | 14 | //! Project version string for Mantle. 15 | FOUNDATION_EXPORT const unsigned char MantleVersionString[]; 16 | 17 | #import 18 | #import 19 | #import 20 | #import 21 | #import 22 | #import 23 | #import 24 | #import 25 | #import 26 | #import 27 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSDictionary+MTLManipulationAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary+MTLManipulationAdditions.h 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2012-09-24. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSDictionary (MTLManipulationAdditions) 12 | 13 | // Merges the keys and values from the given dictionary into the receiver. If 14 | // both the receiver and `dictionary` have a given key, the value from 15 | // `dictionary` is used. 16 | // 17 | // Returns a new dictionary containing the entries of the receiver combined with 18 | // those of `dictionary`. 19 | - (NSDictionary *)mtl_dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary; 20 | 21 | // Creates a new dictionary with all the entries for the given keys removed from 22 | // the receiver. 23 | - (NSDictionary *)mtl_dictionaryByRemovingEntriesWithKeys:(NSSet *)keys; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/ViewModels/FNHomeViewModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNHomeViewModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/17. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "FNHomeInfoModel.h" 11 | @interface FNHomeViewModel : NSObject 12 | 13 | 14 | @property (nonatomic, strong) NSMutableArray *biInfoArray; 15 | @property (nonatomic, strong) NSMutableArray *modelInfoArray; 16 | @property (nonatomic, strong) NSMutableArray *dsrInfoArray; 17 | @property (nonatomic, strong) FNStoreInfoModel *store; 18 | 19 | @property (nonatomic, strong,readonly) NSMutableArray *cellSizeArrray; 20 | @property (nonatomic, strong,readonly) NSMutableArray *headerSizeArray; 21 | @property (nonatomic, strong,readonly) NSMutableArray *footerSizeArray; 22 | 23 | @property (nonatomic, strong)FNStoreManagementInfoModel *lastManagementInfoModel; 24 | 25 | //布局信息 26 | 27 | -(void)calculateLayoutInfo; 28 | @end 29 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-SYLongPressDragSort/Pods-SYLongPressDragSort.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Mantle" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Mantle" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Mantle" -l"Masonry" -l"SDWebImage" -framework "Foundation" -framework "ImageIO" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-SYLongPressDragSort/Pods-SYLongPressDragSort.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Mantle" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Mantle" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Mantle" -l"Masonry" -l"SDWebImage" -framework "Foundation" -framework "ImageIO" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSArray+MTLManipulationAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MTLManipulationAdditions.h 3 | // Mantle 4 | // 5 | // Created by Josh Abernathy on 9/19/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSArray (MTLManipulationAdditions) 12 | 13 | // The first object in the array or nil if the array is empty. 14 | // Forwards to `firstObject` which has been first declared in iOS7, but works with iOS4/10.6. 15 | @property (nonatomic, readonly, strong) id mtl_firstObject; 16 | 17 | // Returns a new array without all instances of the given object. 18 | - (NSArray *)mtl_arrayByRemovingObject:(id)object; 19 | 20 | // Returns a new array without the first object. If the array is empty, it 21 | // returns the empty array. 22 | - (NSArray *)mtl_arrayByRemovingFirstObject; 23 | 24 | // Returns a new array without the last object. If the array is empty, it 25 | // returns the empty array. 26 | - (NSArray *)mtl_arrayByRemovingLastObject; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /SYLongPressDragSort/TabBar/Views/SYLTabBar.h: -------------------------------------------------------------------------------- 1 | // 2 | // SYLTabBar.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/26. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "SYLTabBarButton.h" 11 | 12 | @class SYLTabBarButton; 13 | @class SYLTabBar; 14 | 15 | @protocol SYLTabBarDelegate 16 | 17 | @optional 18 | 19 | - (void)tabBar:(SYLTabBar *)tabBar didSelectButtonIndexFromTag:(NSInteger)fromTag toTag:(NSInteger)toTag; 20 | 21 | 22 | @end 23 | 24 | @interface SYLTabBar : UIView 25 | 26 | @property (nonatomic, assign) id delegate; 27 | 28 | /** 29 | * 提供创建分栏上按钮的方法 30 | * 31 | * @param name 按钮正常状态下的图片名 32 | * @param selName 按钮选中状态下的图片名 33 | */ 34 | - (void)addButtonWithImageName:(NSString *)name selImageName:(NSString *)selName; 35 | 36 | - (void)addButtonWithImageName:(NSString *)name selImageName:(NSString *)selName titleName:(NSString *)titleName; 37 | 38 | - (void)changeSelectdeBtn:(SYLTabBarButton *)btn; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.h 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | #ifdef MAS_VIEW_CONTROLLER 14 | 15 | @interface MAS_VIEW_CONTROLLER (MASAdditions) 16 | 17 | /** 18 | * following properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute 19 | */ 20 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide; 21 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide; 22 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop; 23 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom; 24 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop; 25 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom; 26 | 27 | 28 | @end 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNGetStoreManagementSettingModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNGetStoreManagementSettingModel.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNGetStoreManagementSettingModel.h" 10 | #import "NSValueTransformer+MTLPredefinedTransformerAdditions.h" 11 | 12 | @implementation FNGetStoreManagementSettingModel 13 | 14 | + (NSDictionary *)JSONKeyPathsByPropertyKey 15 | { 16 | return @{ 17 | @"dataList" :@"body.dataList", 18 | }; 19 | 20 | } 21 | 22 | + (NSValueTransformer *)dataListJSONTransformer 23 | { 24 | return [NSValueTransformer mtl_JSONArrayTransformerWithModelClass:FNStoreManagementSettingModel.class]; 25 | } 26 | 27 | 28 | @end 29 | 30 | @implementation FNStoreManagementSettingModel 31 | 32 | + (NSDictionary *)JSONKeyPathsByPropertyKey 33 | { 34 | return @{ 35 | @"code" :@"code", 36 | @"name" :@"name", 37 | @"isVisible" :@"isVisible" 38 | }; 39 | 40 | } 41 | 42 | 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreManagementInfoCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreBiModelInfoCollectionViewCell.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/31. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "FNHomeInfoModel.h" 11 | #import "FNStoreCollectionViewCell.h" 12 | 13 | @class FNStoreManagementInfoCollectionViewCell; 14 | 15 | @protocol FNStoreManagementInfoCollectionViewCellDelegate 16 | 17 | @optional 18 | //iconView点击 19 | -(void)storeManagementInfoCellIconViewClicked:(FNStoreManagementInfoCollectionViewCell *)cell; 20 | //self 点击 21 | -(void)managementInfoCellClicked:(FNStoreManagementInfoCollectionViewCell *)cell; 22 | 23 | 24 | @end 25 | 26 | @interface FNStoreManagementInfoCollectionViewCell : FNStoreCollectionViewCell 27 | 28 | 29 | @property (nonatomic,strong) FNStoreManagementInfoModel *modelInfoModel; 30 | 31 | @property (nonatomic,strong) UILabel *nameLabel; 32 | 33 | @property (nonatomic, assign) id delegate; 34 | @end 35 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/ViewControllers/FNHomeNoPermissionViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNHomeNoPermissionViewController.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/7/4. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNHomeNoPermissionViewController.h" 10 | 11 | @interface FNHomeNoPermissionViewController () 12 | 13 | @end 14 | 15 | @implementation FNHomeNoPermissionViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | // Do any additional setup after loading the view from its nib. 21 | } 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | /* 29 | #pragma mark - Navigation 30 | 31 | // In a storyboard-based application, you will often want to do a little preparation before navigation 32 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 33 | // Get the new view controller using [segue destinationViewController]. 34 | // Pass the selected object to the new view controller. 35 | } 36 | */ 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreAddBiInfoCollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreAddBiInfoCollectionViewCell.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/6/15. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "FNStoreAddBiInfoCollectionViewCell.h" 10 | 11 | @implementation FNStoreAddBiInfoCollectionViewCell 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | self.exclusiveTouch = YES; 16 | UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(cellClicked)]; 17 | tap.numberOfTouchesRequired = 1; 18 | tap.numberOfTapsRequired = 1; 19 | tap.cancelsTouchesInView = YES; 20 | [self addGestureRecognizer:tap]; 21 | // Initialization code 22 | } 23 | 24 | 25 | -(void)cellClicked 26 | { 27 | if ([self.delegate respondsToSelector:@selector(biInfoCellClicked:)]) { 28 | [self.delegate biInfoCellClicked:self]; 29 | } 30 | } 31 | 32 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 33 | { 34 | [super touchesBegan:touches withEvent:event]; 35 | } 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSArray+MTLManipulationAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MTLManipulationAdditions.m 3 | // Mantle 4 | // 5 | // Created by Josh Abernathy on 9/19/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSArray+MTLManipulationAdditions.h" 10 | 11 | @interface NSArray (MTLDeclarations) 12 | 13 | // This declaration is needed so Mantle can be compiled with SDK 6 / 10.8. 14 | - (id)firstObject; 15 | 16 | @end 17 | 18 | @implementation NSArray (MTLManipulationAdditions) 19 | 20 | - (id)mtl_firstObject { 21 | return self.firstObject; 22 | } 23 | 24 | - (instancetype)mtl_arrayByRemovingObject:(id)object { 25 | NSMutableArray *result = [self mutableCopy]; 26 | [result removeObject:object]; 27 | return result; 28 | } 29 | 30 | - (instancetype)mtl_arrayByRemovingFirstObject { 31 | if (self.count == 0) return self; 32 | 33 | return [self subarrayWithRange:NSMakeRange(1, self.count - 1)]; 34 | } 35 | 36 | - (instancetype)mtl_arrayByRemovingLastObject { 37 | if (self.count == 0) return self; 38 | 39 | return [self subarrayWithRange:NSMakeRange(0, self.count - 1)]; 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/MTLValueTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // MTLValueTransformer.h 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2012-09-11. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef id (^MTLValueTransformerBlock)(id); 12 | 13 | // 14 | // A value transformer supporting block-based transformation. 15 | // 16 | @interface MTLValueTransformer : NSValueTransformer 17 | 18 | // Returns a transformer which transforms values using the given block. Reverse 19 | // transformations will not be allowed. 20 | + (instancetype)transformerWithBlock:(MTLValueTransformerBlock)transformationBlock; 21 | 22 | // Returns a transformer which transforms values using the given block, for 23 | // forward or reverse transformations. 24 | + (instancetype)reversibleTransformerWithBlock:(MTLValueTransformerBlock)transformationBlock; 25 | 26 | // Returns a transformer which transforms values using the given blocks. 27 | + (instancetype)reversibleTransformerWithForwardBlock:(MTLValueTransformerBlock)forwardBlock reverseBlock:(MTLValueTransformerBlock)reverseBlock; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /SYLongPressDragSortTests/SYLongPressDragSortTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // SYLongPressDragSortTests.m 3 | // SYLongPressDragSortTests 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SYLongPressDragSortTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation SYLongPressDragSortTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/Masonry/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry 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. -------------------------------------------------------------------------------- /Pods/SDWebImage/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Olivier Poitrey rs@dailymotion.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 furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | 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 | 21 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreBiInfoCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreBiInfoCollectionViewCell.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/31. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "FNHomeInfoModel.h" 11 | #import "FNStoreCollectionViewCell.h" 12 | @class FNStoreBiInfoCollectionViewCell; 13 | 14 | @protocol FNStoreBiInfoCollectionViewCellDelegate 15 | 16 | @optional 17 | //iconView点击 18 | -(void)iconViewClicked:(FNStoreBiInfoCollectionViewCell *)cell; 19 | 20 | @end 21 | 22 | @interface FNStoreBiInfoCollectionViewCell : FNStoreCollectionViewCell 23 | 24 | 25 | 26 | 27 | @property (nonatomic, strong) FNStoreBiInfoModel *biInfoModel; 28 | 29 | @property (nonatomic, assign) id delegate; 30 | //@property (nonatomic, copy) void (^topItemLongPressedOperationBlock)(UILongPressGestureRecognizer *longPressed); 31 | //@property (nonatomic, copy) void (^topButtonClickedOperationBlock)(MDStoreBiInfoCollectionViewCell *item); 32 | @property (nonatomic, copy) void (^topIconViewClickedOperationBlock)(FNStoreBiInfoCollectionViewCell *item); 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDImageCacheConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // SDImageCacheConfig.h 3 | // SDWebImage 4 | // 5 | // Created by Bogdan on 09/09/16. 6 | // Copyright © 2016 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "SDWebImageCompat.h" 11 | 12 | @interface SDImageCacheConfig : NSObject 13 | 14 | /** 15 | * Decompressing images that are downloaded and cached can improve performance but can consume lot of memory. 16 | * Defaults to YES. Set this to NO if you are experiencing a crash due to excessive memory consumption. 17 | */ 18 | @property (assign, nonatomic) BOOL shouldDecompressImages; 19 | 20 | /** 21 | * disable iCloud backup [defaults to YES] 22 | */ 23 | @property (assign, nonatomic) BOOL shouldDisableiCloud; 24 | 25 | /** 26 | * use memory cache [defaults to YES] 27 | */ 28 | @property (assign, nonatomic) BOOL shouldCacheImagesInMemory; 29 | 30 | /** 31 | * The maximum length of time to keep an image in the cache, in seconds 32 | */ 33 | @property (assign, nonatomic) NSInteger maxCacheAge; 34 | 35 | /** 36 | * The maximum size of the cache, in bytes. 37 | */ 38 | @property (assign, nonatomic) NSUInteger maxCacheSize; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/NSError+MTLModelException.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSError+MTLModelException.m 3 | // Mantle 4 | // 5 | // Created by Robert Böhnke on 7/6/13. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import "MTLModel.h" 10 | 11 | #import "NSError+MTLModelException.h" 12 | 13 | // The domain for errors originating from MTLModel. 14 | static NSString * const MTLModelErrorDomain = @"MTLModelErrorDomain"; 15 | 16 | // An exception was thrown and caught. 17 | static const NSInteger MTLModelErrorExceptionThrown = 1; 18 | 19 | // Associated with the NSException that was caught. 20 | static NSString * const MTLModelThrownExceptionErrorKey = @"MTLModelThrownException"; 21 | 22 | @implementation NSError (MTLModelException) 23 | 24 | + (instancetype)mtl_modelErrorWithException:(NSException *)exception { 25 | NSParameterAssert(exception != nil); 26 | 27 | NSDictionary *userInfo = @{ 28 | NSLocalizedDescriptionKey: exception.description, 29 | NSLocalizedFailureReasonErrorKey: exception.reason, 30 | MTLModelThrownExceptionErrorKey: exception 31 | }; 32 | 33 | return [NSError errorWithDomain:MTLModelErrorDomain code:MTLModelErrorExceptionThrown userInfo:userInfo]; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASShorthandAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 22/07/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "NSArray+MASAdditions.h" 10 | 11 | #ifdef MAS_SHORTHAND 12 | 13 | /** 14 | * Shorthand array additions without the 'mas_' prefixes, 15 | * only enabled if MAS_SHORTHAND is defined 16 | */ 17 | @interface NSArray (MASShorthandAdditions) 18 | 19 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; 20 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; 21 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; 22 | 23 | @end 24 | 25 | @implementation NSArray (MASShorthandAdditions) 26 | 27 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { 28 | return [self mas_makeConstraints:block]; 29 | } 30 | 31 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { 32 | return [self mas_updateConstraints:block]; 33 | } 34 | 35 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { 36 | return [self mas_remakeConstraints:block]; 37 | } 38 | 39 | @end 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if SD_UIKIT || SD_MAC 12 | 13 | #import "SDWebImageManager.h" 14 | 15 | @interface UIView (WebCacheOperation) 16 | 17 | /** 18 | * Set the image load operation (storage in a UIView based dictionary) 19 | * 20 | * @param operation the operation 21 | * @param key key for storing the operation 22 | */ 23 | - (void)sd_setImageLoadOperation:(nullable id)operation forKey:(nullable NSString *)key; 24 | 25 | /** 26 | * Cancel all operations for the current UIView and key 27 | * 28 | * @param key key for identifying the operations 29 | */ 30 | - (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key; 31 | 32 | /** 33 | * Just remove the operations corresponding to the current UIView and key without cancelling them 34 | * 35 | * @param key key for identifying the operations 36 | */ 37 | - (void)sd_removeImageLoadOperationWithKey:(nullable NSString *)key; 38 | 39 | @end 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/UIView+Additions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Additions.h 3 | // jkcarddemo 4 | // 5 | // Created by wangweishun@pajk.cn on 4/17/14. 6 | // Copyright (c) 2014 PAJK. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (Additions) 12 | 13 | @property (nonatomic) CGFloat fleft; 14 | @property (nonatomic) CGFloat ftop; 15 | @property (nonatomic) CGFloat fright; 16 | @property (nonatomic) CGFloat fbottom; 17 | @property (nonatomic) CGFloat fwidth; 18 | @property (nonatomic) CGFloat fheight; 19 | 20 | @property (nonatomic) CGFloat fcenterX; 21 | @property (nonatomic) CGFloat fcenterY; 22 | 23 | @property (nonatomic) CGPoint forigin; 24 | @property (nonatomic) CGSize fsize; 25 | 26 | @property (nonatomic, retain) UIColor *borderColor; 27 | 28 | @property (nonatomic, readonly) UIViewController *viewController; 29 | 30 | + (instancetype) drawDottedLineWithFrame:(CGRect)frame; 31 | 32 | + (UINib *)nib; 33 | + (NSString *)reuseIdentifier; 34 | + (void)registerNibForCellToTableView:(UITableView *)tableView; 35 | + (void)registerNibForHeaderFooterToTableView:(UITableView *)tableView; 36 | 37 | - (void)centerInSuperView; 38 | - (void)aestheticCenterInSuperView; 39 | 40 | - (UIImage *)imageForView; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zhangsuya.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Mantle.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Masonry.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-SYLongPressDragSort.xcscheme 18 | 19 | isShown 20 | 21 | 22 | SDWebImage.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 3654500AF00311DAF196CF38B561774B 31 | 32 | primary 33 | 34 | 35 | 9DC8D9E02903E93BD0B2FEC9D846EA20 36 | 37 | primary 38 | 39 | 40 | D07D474B199FBF6F1E9C0D84C2ACDDEF 41 | 42 | primary 43 | 44 | 45 | EABA8E39075B5BDC77DBEC1A9473D55C 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/MTLReflection.h: -------------------------------------------------------------------------------- 1 | // 2 | // MTLReflection.h 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2013-03-12. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // Creates a selector from a key and a constant string. 12 | // 13 | // key - The key to insert into the generated selector. This key should be in 14 | // its natural case. 15 | // suffix - A string to append to the key as part of the selector. 16 | // 17 | // Returns a selector, or NULL if the input strings cannot form a valid 18 | // selector. 19 | SEL MTLSelectorWithKeyPattern(NSString *key, const char *suffix) __attribute__((pure, nonnull(1, 2))); 20 | 21 | // Creates a selector from a key and a constant prefix and suffix. 22 | // 23 | // prefix - A string to prepend to the key as part of the selector. 24 | // key - The key to insert into the generated selector. This key should be in 25 | // its natural case, and will have its first letter capitalized when 26 | // inserted. 27 | // suffix - A string to append to the key as part of the selector. 28 | // 29 | // Returns a selector, or NULL if the input strings cannot form a valid 30 | // selector. 31 | SEL MTLSelectorWithCapitalizedKeyPattern(const char *prefix, NSString *key, const char *suffix) __attribute__((pure, nonnull(1, 2, 3))); 32 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | 11 | @implementation MASViewAttribute 12 | 13 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { 14 | self = [self initWithView:view item:view layoutAttribute:layoutAttribute]; 15 | return self; 16 | } 17 | 18 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { 19 | self = [super init]; 20 | if (!self) return nil; 21 | 22 | _view = view; 23 | _item = item; 24 | _layoutAttribute = layoutAttribute; 25 | 26 | return self; 27 | } 28 | 29 | - (BOOL)isSizeAttribute { 30 | return self.layoutAttribute == NSLayoutAttributeWidth 31 | || self.layoutAttribute == NSLayoutAttributeHeight; 32 | } 33 | 34 | - (BOOL)isEqual:(MASViewAttribute *)viewAttribute { 35 | if ([viewAttribute isKindOfClass:self.class]) { 36 | return self.view == viewAttribute.view 37 | && self.layoutAttribute == viewAttribute.layoutAttribute; 38 | } 39 | return [super isEqual:viewAttribute]; 40 | } 41 | 42 | - (NSUInteger)hash { 43 | return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNSwitch.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNSwitch.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/8/29. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNSwitch.h" 10 | 11 | @interface FNSwitch(){ 12 | BOOL previousValue; 13 | } 14 | @end 15 | 16 | @implementation FNSwitch 17 | 18 | 19 | 20 | - (id)initWithFrame:(CGRect)frame 21 | { 22 | self = [super initWithFrame:frame]; 23 | if (self) { 24 | // Initialization code 25 | previousValue = self.isOn; 26 | } 27 | return self; 28 | } 29 | 30 | 31 | -(void)awakeFromNib{ 32 | [super awakeFromNib]; 33 | previousValue = self.isOn; 34 | self.exclusiveTouch = YES; 35 | } 36 | 37 | 38 | - (void)setOn:(BOOL)on animated:(BOOL)animated{ 39 | 40 | [super setOn:on animated:animated]; 41 | previousValue = on; 42 | } 43 | 44 | 45 | -(void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event{ 46 | 47 | if(previousValue != self.isOn){ 48 | for (id targetForEvent in [self allTargets]) { 49 | for (id actionForEvent in [self actionsForTarget:targetForEvent forControlEvent:UIControlEventValueChanged]) { 50 | [super sendAction:NSSelectorFromString(actionForEvent) to:targetForEvent forEvent:event]; 51 | } 52 | } 53 | previousValue = self.isOn; 54 | return; 55 | } 56 | } 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /SYLongPressDragSortUITests/SYLongPressDragSortUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // SYLongPressDragSortUITests.m 3 | // SYLongPressDragSortUITests 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SYLongPressDragSortUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation SYLongPressDragSortUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * An immutable tuple which stores the view and the related NSLayoutAttribute. 13 | * Describes part of either the left or right hand side of a constraint equation 14 | */ 15 | @interface MASViewAttribute : NSObject 16 | 17 | /** 18 | * The view which the reciever relates to. Can be nil if item is not a view. 19 | */ 20 | @property (nonatomic, weak, readonly) MAS_VIEW *view; 21 | 22 | /** 23 | * The item which the reciever relates to. 24 | */ 25 | @property (nonatomic, weak, readonly) id item; 26 | 27 | /** 28 | * The attribute which the reciever relates to 29 | */ 30 | @property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; 31 | 32 | /** 33 | * Convenience initializer. 34 | */ 35 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; 36 | 37 | /** 38 | * The designated initializer. 39 | */ 40 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute; 41 | 42 | /** 43 | * Determine whether the layoutAttribute is a size attribute 44 | * 45 | * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight 46 | */ 47 | - (BOOL)isSizeAttribute; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /SYLongPressDragSort/TabBar/Views/SYLTabBarButton.m: -------------------------------------------------------------------------------- 1 | // 2 | // SYLTabBarButton.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/26. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "SYLTabBarButton.h" 10 | #import "UIView+Additions.h" 11 | #import "SYLMacros.h" 12 | @implementation SYLTabBarButton 13 | 14 | /* 15 | // Only override drawRect: if you perform custom drawing. 16 | // An empty implementation adversely affects performance during animation. 17 | - (void)drawRect:(CGRect)rect { 18 | // Drawing code 19 | } 20 | */ 21 | 22 | 23 | #pragma mark - Lifecycle 24 | 25 | 26 | - (instancetype)initWithFrame:(CGRect)frame 27 | { 28 | if (self = [super initWithFrame:frame]) { 29 | [self setTitleColor:[UIColor grayColor] forState:UIControlStateNormal]; 30 | self.titleLabel.font = [UIFont systemFontOfSize:12]; 31 | self.titleLabel.textAlignment = NSTextAlignmentCenter; 32 | // [self.titleLabel setTextColor:GrayStringColor]; 33 | } 34 | return self; 35 | } 36 | 37 | #pragma mark - overwriter super method 38 | 39 | - (CGRect)imageRectForContentRect:(CGRect)contentRect 40 | { 41 | CGFloat h = 24; 42 | CGFloat w = 25; 43 | CGFloat x = (self.fwidth - w) * 0.5; 44 | CGFloat y = 5; 45 | return CGRectMake(x, y, w, h); 46 | } 47 | 48 | - (CGRect)titleRectForContentRect:(CGRect)contentRect 49 | { 50 | return CGRectMake(0, 24 +8, self.fwidth, 12); 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/ViewController+MASAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.m 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "ViewController+MASAdditions.h" 10 | 11 | #ifdef MAS_VIEW_CONTROLLER 12 | 13 | @implementation MAS_VIEW_CONTROLLER (MASAdditions) 14 | 15 | - (MASViewAttribute *)mas_topLayoutGuide { 16 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 17 | } 18 | - (MASViewAttribute *)mas_topLayoutGuideTop { 19 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 20 | } 21 | - (MASViewAttribute *)mas_topLayoutGuideBottom { 22 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 23 | } 24 | 25 | - (MASViewAttribute *)mas_bottomLayoutGuide { 26 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 27 | } 28 | - (MASViewAttribute *)mas_bottomLayoutGuideTop { 29 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 30 | } 31 | - (MASViewAttribute *)mas_bottomLayoutGuideBottom { 32 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 33 | } 34 | 35 | 36 | 37 | @end 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | #import "MASConstraint.h" 11 | #import "MASLayoutConstraint.h" 12 | #import "MASUtilities.h" 13 | 14 | /** 15 | * A single constraint. 16 | * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view 17 | */ 18 | @interface MASViewConstraint : MASConstraint 19 | 20 | /** 21 | * First item/view and first attribute of the NSLayoutConstraint 22 | */ 23 | @property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; 24 | 25 | /** 26 | * Second item/view and second attribute of the NSLayoutConstraint 27 | */ 28 | @property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; 29 | 30 | /** 31 | * initialises the MASViewConstraint with the first part of the equation 32 | * 33 | * @param firstViewAttribute view.mas_left, view.mas_width etc. 34 | * 35 | * @return a new view constraint 36 | */ 37 | - (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; 38 | 39 | /** 40 | * Returns all MASViewConstraints installed with this view as a first item. 41 | * 42 | * @param view A view to retrieve constraints for. 43 | * 44 | * @return An array of MASViewConstraints. 45 | */ 46 | + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/NSData+ImageContentType.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Fabrice Aneche 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import "NSData+ImageContentType.h" 11 | 12 | 13 | @implementation NSData (ImageContentType) 14 | 15 | + (SDImageFormat)sd_imageFormatForImageData:(nullable NSData *)data { 16 | if (!data) { 17 | return SDImageFormatUndefined; 18 | } 19 | 20 | uint8_t c; 21 | [data getBytes:&c length:1]; 22 | switch (c) { 23 | case 0xFF: 24 | return SDImageFormatJPEG; 25 | case 0x89: 26 | return SDImageFormatPNG; 27 | case 0x47: 28 | return SDImageFormatGIF; 29 | case 0x49: 30 | case 0x4D: 31 | return SDImageFormatTIFF; 32 | case 0x52: 33 | // R as RIFF for WEBP 34 | if (data.length < 12) { 35 | return SDImageFormatUndefined; 36 | } 37 | 38 | NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding]; 39 | if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) { 40 | return SDImageFormatWebP; 41 | } 42 | } 43 | return SDImageFormatUndefined; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNMCollectionView.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNMCollectionView.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/7/12. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNMCollectionView.h" 10 | 11 | @implementation FNMCollectionView 12 | 13 | - (instancetype)initWithFrame:(CGRect)frame { 14 | self = [super initWithFrame:frame]; 15 | // self.delaysContentTouches = NO; 16 | // self.canCancelContentTouches = YES; 17 | 18 | // Remove touch delay (since iOS 8) 19 | // UIView *wrapView = self.subviews.firstObject; 20 | // // UICollectionViewWrapperView 21 | // if (wrapView && [NSStringFromClass(wrapView.class) hasSuffix:@"WrapperView"]) { 22 | // for (UIGestureRecognizer *gesture in wrapView.gestureRecognizers) { 23 | // // UIScrollViewDelayedTouchesBeganGestureRecognizer 24 | // if ([NSStringFromClass(gesture.class) containsString:@"DelayedTouchesBegan"] ) { 25 | //// gesture.enabled = NO; 26 | // break; 27 | // } 28 | // } 29 | // } 30 | 31 | return self; 32 | } 33 | 34 | //- (BOOL)touchesShouldCancelInContentView:(UIView *)view { 35 | // if ( [view isKindOfClass:[UIControl class]]) { 36 | // return YES; 37 | // } 38 | // return [super touchesShouldCancelInContentView:view]; 39 | //} 40 | 41 | //-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 42 | //{ 43 | //// [super touchesBegan:touches withEvent:event]; 44 | // NSLog(@"%@",@"touchCollection"); 45 | //} 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /SYLongPressDragSort/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 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /SYLongPressDragSort.xcworkspace/xcuserdata/zhangsuya.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 20 | 21 | 22 | 24 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreCollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNStoreCollectionViewCell.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/20. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNStoreCollectionViewCell.h" 10 | @interface FNStoreCollectionViewCell() 11 | 12 | 13 | @end 14 | 15 | @implementation FNStoreCollectionViewCell 16 | 17 | 18 | #pragma mark - Custom Accessors 19 | 20 | 21 | 22 | -(UIButton *)iconView 23 | { 24 | if (!_iconView) { 25 | _iconView = [[UIButton alloc] init]; 26 | [_iconView setImage:[UIImage imageNamed:@"icon_close_01"] forState:UIControlStateNormal]; 27 | [_iconView addTarget:self action:@selector(iconViewClicked) forControlEvents:UIControlEventTouchUpInside]; 28 | _iconView.hidden = YES; 29 | _iconView.enabled = NO; 30 | _iconView.userInteractionEnabled = NO; 31 | _iconView.exclusiveTouch = YES; 32 | } 33 | return _iconView; 34 | } 35 | 36 | 37 | - (void)setHidenIcon:(BOOL)hidenIcon 38 | { 39 | _hidenIcon = hidenIcon; 40 | _iconView.hidden = hidenIcon; 41 | _iconView.enabled = !hidenIcon; 42 | _iconView.userInteractionEnabled = !hidenIcon; 43 | 44 | if (hidenIcon == NO) { 45 | // self.backgroundColor = [UIColor fn_color:FNColor_background_color]; 46 | }else 47 | { 48 | self.backgroundColor = [UIColor whiteColor]; 49 | } 50 | } 51 | 52 | - (void)setIconImage:(UIImage *)iconImage 53 | { 54 | _iconImage = iconImage; 55 | 56 | [_iconView setImage:iconImage forState:UIControlStateNormal]; 57 | } 58 | 59 | #pragma mark - public 60 | 61 | 62 | 63 | -(void)iconViewClicked 64 | { 65 | 66 | } 67 | 68 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 69 | { 70 | [super touchesBegan:touches withEvent:event]; 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreDsrInfosCollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNNewStoreBiDsrInfosCollectionViewCell.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/6/15. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "FNStoreDsrInfosCollectionViewCell.h" 10 | 11 | @interface FNStoreDsrInfosCollectionViewCell() 12 | 13 | @property (weak, nonatomic) IBOutlet UILabel *storeDsrRateLabel; 14 | @property (weak, nonatomic) IBOutlet UILabel *storeDsrThanLabel; 15 | @property (weak, nonatomic) IBOutlet UIImageView *storeDsrThanImageView; 16 | 17 | @property (weak, nonatomic) IBOutlet UILabel *storeDsrThanImageLabel; 18 | 19 | @end 20 | 21 | 22 | @implementation FNStoreDsrInfosCollectionViewCell 23 | 24 | - (void)awakeFromNib { 25 | [super awakeFromNib]; 26 | // Initialization code 27 | } 28 | 29 | #pragma mark - Custom Accessors 30 | 31 | -(void)setDsrInfoModel:(FNStoreDsrInfoModel *)dsrInfoModel 32 | { 33 | _dsrInfoModel = dsrInfoModel; 34 | 35 | [_storeDsrThanImageLabel setText:dsrInfoModel.than]; 36 | 37 | if ([dsrInfoModel.than isEqualToString:@"高于"]) { 38 | [_storeDsrThanImageView setImage:[UIImage imageNamed:@"icon_up"]]; 39 | }else if ([dsrInfoModel.than isEqualToString:@"低于"]) 40 | { 41 | [_storeDsrThanImageView setImage:[UIImage imageNamed:@"icon_dow"]]; 42 | }else if ([dsrInfoModel.than isEqualToString:@"持平"]) 43 | { 44 | [_storeDsrThanImageView setImage:[UIImage imageNamed:@"icon_flat"]]; 45 | }else 46 | {//默认持平 47 | [_storeDsrThanImageView setImage:[UIImage imageNamed:@"icon_flat"]]; 48 | } 49 | 50 | [_storeDsrThanLabel setAttributedText:dsrInfoModel.rateData]; 51 | [_storeDsrRateLabel setText:dsrInfoModel.rate]; 52 | } 53 | 54 | -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 55 | { 56 | [super touchesBegan:touches withEvent:event]; 57 | } 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Assets.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" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | } 88 | ], 89 | "info" : { 90 | "version" : 1, 91 | "author" : "xcode" 92 | } 93 | } -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIImage+GIF.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Laurin Brandner 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import "UIImage+GIF.h" 11 | #import 12 | #import "objc/runtime.h" 13 | #import "NSImage+WebCache.h" 14 | 15 | @implementation UIImage (GIF) 16 | 17 | + (UIImage *)sd_animatedGIFWithData:(NSData *)data { 18 | if (!data) { 19 | return nil; 20 | } 21 | 22 | CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)data, NULL); 23 | 24 | size_t count = CGImageSourceGetCount(source); 25 | 26 | UIImage *staticImage; 27 | 28 | if (count <= 1) { 29 | staticImage = [[UIImage alloc] initWithData:data]; 30 | } else { 31 | // we will only retrieve the 1st frame. the full GIF support is available via the FLAnimatedImageView category. 32 | // this here is only code to allow drawing animated images as static ones 33 | #if SD_WATCH 34 | CGFloat scale = 1; 35 | scale = [WKInterfaceDevice currentDevice].screenScale; 36 | #elif SD_UIKIT 37 | CGFloat scale = 1; 38 | scale = [UIScreen mainScreen].scale; 39 | #endif 40 | 41 | CGImageRef CGImage = CGImageSourceCreateImageAtIndex(source, 0, NULL); 42 | #if SD_UIKIT || SD_WATCH 43 | UIImage *frameImage = [UIImage imageWithCGImage:CGImage scale:scale orientation:UIImageOrientationUp]; 44 | staticImage = [UIImage animatedImageWithImages:@[frameImage] duration:0.0f]; 45 | #elif SD_MAC 46 | staticImage = [[UIImage alloc] initWithCGImage:CGImage size:NSZeroSize]; 47 | #endif 48 | CGImageRelease(CGImage); 49 | } 50 | 51 | CFRelease(source); 52 | 53 | return staticImage; 54 | } 55 | 56 | - (BOOL)isGIF { 57 | return (self.images != nil); 58 | } 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Categories/UIColor+Hex.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+Hex.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 16/5/27. 6 | // Copyright © 2016年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "UIColor+Hex.h" 10 | 11 | @implementation UIColor (Hex) 12 | 13 | + (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha 14 | { 15 | //删除字符串中的空格 16 | NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; 17 | // String should be 6 or 8 characters 18 | if ([cString length] < 6) 19 | { 20 | return [UIColor clearColor]; 21 | } 22 | // strip 0X if it appears 23 | //如果是0x开头的,那么截取字符串,字符串从索引为2的位置开始,一直到末尾 24 | if ([cString hasPrefix:@"0X"]) 25 | { 26 | cString = [cString substringFromIndex:2]; 27 | } 28 | //如果是#开头的,那么截取字符串,字符串从索引为1的位置开始,一直到末尾 29 | if ([cString hasPrefix:@"#"]) 30 | { 31 | cString = [cString substringFromIndex:1]; 32 | } 33 | if ([cString length] != 6) 34 | { 35 | return [UIColor clearColor]; 36 | } 37 | 38 | // Separate into r, g, b substrings 39 | NSRange range; 40 | range.location = 0; 41 | range.length = 2; 42 | //r 43 | NSString *rString = [cString substringWithRange:range]; 44 | //g 45 | range.location = 2; 46 | NSString *gString = [cString substringWithRange:range]; 47 | //b 48 | range.location = 4; 49 | NSString *bString = [cString substringWithRange:range]; 50 | 51 | // Scan values 52 | unsigned int r, g, b; 53 | [[NSScanner scannerWithString:rString] scanHexInt:&r]; 54 | [[NSScanner scannerWithString:gString] scanHexInt:&g]; 55 | [[NSScanner scannerWithString:bString] scanHexInt:&b]; 56 | return [UIColor colorWithRed:((float)r / 255.0f) green:((float)g / 255.0f) blue:((float)b / 255.0f) alpha:alpha]; 57 | } 58 | 59 | //默认alpha值为1 60 | + (UIColor *)colorWithHexString:(NSString *)color 61 | { 62 | return [self colorWithHexString:color alpha:1.0f]; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint+Private.h 3 | // Masonry 4 | // 5 | // Created by Nick Tymchenko on 29/04/14. 6 | // Copyright (c) 2014 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | 11 | @protocol MASConstraintDelegate; 12 | 13 | 14 | @interface MASConstraint () 15 | 16 | /** 17 | * Whether or not to check for an existing constraint instead of adding constraint 18 | */ 19 | @property (nonatomic, assign) BOOL updateExisting; 20 | 21 | /** 22 | * Usually MASConstraintMaker but could be a parent MASConstraint 23 | */ 24 | @property (nonatomic, weak) id delegate; 25 | 26 | /** 27 | * Based on a provided value type, is equal to calling: 28 | * NSNumber - setOffset: 29 | * NSValue with CGPoint - setPointOffset: 30 | * NSValue with CGSize - setSizeOffset: 31 | * NSValue with MASEdgeInsets - setInsets: 32 | */ 33 | - (void)setLayoutConstantWithValue:(NSValue *)value; 34 | 35 | @end 36 | 37 | 38 | @interface MASConstraint (Abstract) 39 | 40 | /** 41 | * Sets the constraint relation to given NSLayoutRelation 42 | * returns a block which accepts one of the following: 43 | * MASViewAttribute, UIView, NSValue, NSArray 44 | * see readme for more details. 45 | */ 46 | - (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; 47 | 48 | /** 49 | * Override to set a custom chaining behaviour 50 | */ 51 | - (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 52 | 53 | @end 54 | 55 | 56 | @protocol MASConstraintDelegate 57 | 58 | /** 59 | * Notifies the delegate when the constraint needs to be replaced with another constraint. For example 60 | * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks 61 | */ 62 | - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint; 63 | 64 | - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/SDWebImageCompat.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if !__has_feature(objc_arc) 12 | #error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag 13 | #endif 14 | 15 | inline UIImage *SDScaledImageForKey(NSString * _Nullable key, UIImage * _Nullable image) { 16 | if (!image) { 17 | return nil; 18 | } 19 | 20 | #if SD_MAC 21 | return image; 22 | #elif SD_UIKIT || SD_WATCH 23 | if ((image.images).count > 0) { 24 | NSMutableArray *scaledImages = [NSMutableArray array]; 25 | 26 | for (UIImage *tempImage in image.images) { 27 | [scaledImages addObject:SDScaledImageForKey(key, tempImage)]; 28 | } 29 | 30 | return [UIImage animatedImageWithImages:scaledImages duration:image.duration]; 31 | } 32 | else { 33 | #if SD_WATCH 34 | if ([[WKInterfaceDevice currentDevice] respondsToSelector:@selector(screenScale)]) { 35 | #elif SD_UIKIT 36 | if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 37 | #endif 38 | CGFloat scale = 1; 39 | if (key.length >= 8) { 40 | NSRange range = [key rangeOfString:@"@2x."]; 41 | if (range.location != NSNotFound) { 42 | scale = 2.0; 43 | } 44 | 45 | range = [key rangeOfString:@"@3x."]; 46 | if (range.location != NSNotFound) { 47 | scale = 3.0; 48 | } 49 | } 50 | 51 | UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; 52 | image = scaledImage; 53 | } 54 | return image; 55 | } 56 | #endif 57 | } 58 | 59 | NSString *const SDWebImageErrorDomain = @"SDWebImageErrorDomain"; 60 | -------------------------------------------------------------------------------- /SYLongPressDragSort/SYLMacros.h: -------------------------------------------------------------------------------- 1 | // 2 | // SYLMacros.h 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/18. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #ifndef SYLMacros_h 10 | #define SYLMacros_h 11 | 12 | //当前设备的宽高 13 | #define kDeviceHeight [UIScreen mainScreen].bounds.size.height 14 | #define kDeviceWidth [UIScreen mainScreen].bounds.size.width 15 | 16 | #define HEIGHT_TWO_IMAG_WITH (kDeviceWidth - 80 - 14 -16)/3 17 | 18 | #define kTabBarHeight (49) 19 | #define kDeviceHeight_No_NavigationHeight (kDeviceHeight - 64) 20 | 21 | #define selfWidth self.view.frame.size.width 22 | #define selfHeight self.view.frame.size.height 23 | 24 | //判断设备 25 | #define DEV_SCREEN(width, height) (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(width, height), [[UIScreen mainScreen] currentMode].size) : NO)) 26 | #define iPad ([[UIDevice currentDevice].model isEqualToString:@"iPad"]) 27 | #define iPhone ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) 28 | #define iPhone_Normal (DEV_SCREEN(320, 480)) 29 | #define iPhone_Retina (DEV_SCREEN(640, 960)) 30 | #define iPhone5 (DEV_SCREEN(640, 1136)) 31 | #define iPhone6 (DEV_SCREEN(750, 1334)) 32 | #define iPhone6p (DEV_SCREEN(1242, 2208)) 33 | #define iPad_Normal (DEV_SCREEN(768, 1024)) 34 | #define iPad_Retina (DEV_SCREEN(768*2, 1024*2)) 35 | //黑色字体 36 | #define BlackStringColor [UIColor colorWithHexString:@"#333333"] 37 | //灰色字体 38 | #define GrayStringColor [UIColor colorWithHexString:@"#666666"] 39 | //浅灰色字体 40 | #define LightGrayStringColor [UIColor colorWithHexString:@"#999999"] 41 | //白色字体 42 | #define WhiteStringColor [UIColor colorWithHexString:@"#ffffff"] 43 | //绿色背景色 44 | #define GreenBackgroundColor [UIColor colorWithHexString:@"#1E977F"] 45 | //灰绿背景色 46 | #define GrayGreenBackgroundColor [UIColor colorWithHexString:@"#50AC99"] 47 | 48 | 49 | //灰色背景 50 | #define GrayBackgroundColor [UIColor colorWithHexString:@"#EEEEEE"] 51 | //灰色线 52 | #define GrayLineColor [UIColor colorWithHexString:@"#D5D5D5"] 53 | 54 | #endif /* SYLMacros_h */ 55 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/MTLReflection.m: -------------------------------------------------------------------------------- 1 | // 2 | // MTLReflection.m 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2013-03-12. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import "MTLReflection.h" 10 | #import 11 | 12 | SEL MTLSelectorWithKeyPattern(NSString *key, const char *suffix) { 13 | NSUInteger keyLength = [key maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding]; 14 | NSUInteger suffixLength = strlen(suffix); 15 | 16 | char selector[keyLength + suffixLength + 1]; 17 | 18 | BOOL success = [key getBytes:selector maxLength:keyLength usedLength:&keyLength encoding:NSUTF8StringEncoding options:0 range:NSMakeRange(0, key.length) remainingRange:NULL]; 19 | if (!success) return NULL; 20 | 21 | memcpy(selector + keyLength, suffix, suffixLength); 22 | selector[keyLength + suffixLength] = '\0'; 23 | 24 | return sel_registerName(selector); 25 | } 26 | 27 | SEL MTLSelectorWithCapitalizedKeyPattern(const char *prefix, NSString *key, const char *suffix) { 28 | NSUInteger prefixLength = strlen(prefix); 29 | NSUInteger suffixLength = strlen(suffix); 30 | 31 | NSString *initial = [key substringToIndex:1].uppercaseString; 32 | NSUInteger initialLength = [initial maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding]; 33 | 34 | NSString *rest = [key substringFromIndex:1]; 35 | NSUInteger restLength = [rest maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding]; 36 | 37 | char selector[prefixLength + initialLength + restLength + suffixLength + 1]; 38 | memcpy(selector, prefix, prefixLength); 39 | 40 | BOOL success = [initial getBytes:selector + prefixLength maxLength:initialLength usedLength:&initialLength encoding:NSUTF8StringEncoding options:0 range:NSMakeRange(0, initial.length) remainingRange:NULL]; 41 | if (!success) return NULL; 42 | 43 | success = [rest getBytes:selector + prefixLength + initialLength maxLength:restLength usedLength:&restLength encoding:NSUTF8StringEncoding options:0 range:NSMakeRange(0, rest.length) remainingRange:NULL]; 44 | if (!success) return NULL; 45 | 46 | memcpy(selector + prefixLength + initialLength + restLength, suffix, suffixLength); 47 | selector[prefixLength + initialLength + restLength + suffixLength] = '\0'; 48 | 49 | return sel_registerName(selector); 50 | } 51 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Models/FNHomeInfoModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FNHomeInfoModel.h 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/6/17. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | @interface FNStoreInfoModel : MTLModel 12 | 13 | @property (nonatomic,copy) NSString *iconImageUrl; 14 | @property (nonatomic,copy) NSString *shopName; 15 | 16 | @end 17 | 18 | 19 | //首页数据报表dataArray层 20 | @interface FNStoreBiInfoArrayModel : MTLModel 21 | 22 | @property (nonatomic,strong) NSArray *dataList; 23 | 24 | @end 25 | 26 | 27 | 28 | 29 | 30 | //首页数据报表 31 | @interface FNStoreBiInfoModel : MTLModel 32 | 33 | @property (nonatomic,copy) NSString *code; 34 | @property (nonatomic,copy) NSString *name; 35 | @property (nonatomic,copy) NSString *data; 36 | 37 | @end 38 | 39 | ///dataArray层 40 | @interface FNStoreDsrInfoArrayModel : MTLModel 41 | 42 | @property (nonatomic,strong) NSArray *dataList; 43 | 44 | 45 | @end 46 | 47 | 48 | 49 | //店铺评分数据 50 | @interface FNStoreDsrInfoModel : MTLModel 51 | 52 | @property (nonatomic,copy) NSString *name; 53 | @property (nonatomic,copy) NSString *data; 54 | 55 | @property (nonatomic,copy) NSString *than; 56 | @property (nonatomic,copy) NSString *rate; 57 | 58 | @property (nonatomic,copy) NSAttributedString *rateData; 59 | 60 | @end 61 | 62 | //dataArray层 63 | 64 | @interface FNStoreManagementInfoArrayModel : MTLModel 65 | 66 | @property (nonatomic,strong) NSArray *dataList; 67 | 68 | @end 69 | 70 | 71 | 72 | 73 | // 首页厂商管理 74 | @interface FNStoreManagementInfoModel : MTLModel 75 | 76 | @property (nonatomic,copy) NSString *code; 77 | @property (nonatomic,copy) NSString *name; 78 | @property (nonatomic,copy) NSString *url; 79 | @property (nonatomic,copy) NSString *iconImageUrl; 80 | 81 | @end 82 | 83 | 84 | 85 | 86 | 87 | 88 | @interface FNHomeInfoModel : MTLModel 89 | @property(nonatomic,strong)FNStoreInfoModel *store; 90 | @property(nonatomic,strong)FNStoreBiInfoArrayModel *bi; 91 | @property(nonatomic,strong)FNStoreDsrInfoArrayModel *dsr; 92 | @property(nonatomic,strong)FNStoreManagementInfoArrayModel *manage; 93 | 94 | @end 95 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "UIImageView+HighlightedWebCache.h" 10 | 11 | #if SD_UIKIT 12 | 13 | #import "UIView+WebCacheOperation.h" 14 | #import "UIView+WebCache.h" 15 | 16 | @implementation UIImageView (HighlightedWebCache) 17 | 18 | - (void)sd_setHighlightedImageWithURL:(nullable NSURL *)url { 19 | [self sd_setHighlightedImageWithURL:url options:0 progress:nil completed:nil]; 20 | } 21 | 22 | - (void)sd_setHighlightedImageWithURL:(nullable NSURL *)url options:(SDWebImageOptions)options { 23 | [self sd_setHighlightedImageWithURL:url options:options progress:nil completed:nil]; 24 | } 25 | 26 | - (void)sd_setHighlightedImageWithURL:(nullable NSURL *)url completed:(nullable SDExternalCompletionBlock)completedBlock { 27 | [self sd_setHighlightedImageWithURL:url options:0 progress:nil completed:completedBlock]; 28 | } 29 | 30 | - (void)sd_setHighlightedImageWithURL:(nullable NSURL *)url options:(SDWebImageOptions)options completed:(nullable SDExternalCompletionBlock)completedBlock { 31 | [self sd_setHighlightedImageWithURL:url options:options progress:nil completed:completedBlock]; 32 | } 33 | 34 | - (void)sd_setHighlightedImageWithURL:(nullable NSURL *)url 35 | options:(SDWebImageOptions)options 36 | progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock 37 | completed:(nullable SDExternalCompletionBlock)completedBlock { 38 | __weak typeof(self)weakSelf = self; 39 | [self sd_internalSetImageWithURL:url 40 | placeholderImage:nil 41 | options:options 42 | operationKey:@"UIImageViewImageOperationHighlighted" 43 | setImageBlock:^(UIImage *image, NSData *imageData) { 44 | weakSelf.highlightedImage = image; 45 | } 46 | progress:progressBlock 47 | completed:completedBlock]; 48 | } 49 | 50 | @end 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zhangsuya.xcuserdatad/xcschemes/Mantle.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zhangsuya.xcuserdatad/xcschemes/Masonry.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zhangsuya.xcuserdatad/xcschemes/SDWebImage.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/zhangsuya.xcuserdatad/xcschemes/Pods-SYLongPressDragSort.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNStoreAddBiInfoCollectionViewCell.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIView+WebCacheOperation.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "UIView+WebCacheOperation.h" 10 | 11 | #if SD_UIKIT || SD_MAC 12 | 13 | #import "objc/runtime.h" 14 | 15 | static char loadOperationKey; 16 | 17 | typedef NSMutableDictionary SDOperationsDictionary; 18 | 19 | @implementation UIView (WebCacheOperation) 20 | 21 | - (SDOperationsDictionary *)operationDictionary { 22 | SDOperationsDictionary *operations = objc_getAssociatedObject(self, &loadOperationKey); 23 | if (operations) { 24 | return operations; 25 | } 26 | operations = [NSMutableDictionary dictionary]; 27 | objc_setAssociatedObject(self, &loadOperationKey, operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 28 | return operations; 29 | } 30 | 31 | - (void)sd_setImageLoadOperation:(nullable id)operation forKey:(nullable NSString *)key { 32 | if (key) { 33 | [self sd_cancelImageLoadOperationWithKey:key]; 34 | if (operation) { 35 | SDOperationsDictionary *operationDictionary = [self operationDictionary]; 36 | operationDictionary[key] = operation; 37 | } 38 | } 39 | } 40 | 41 | - (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key { 42 | // Cancel in progress downloader from queue 43 | SDOperationsDictionary *operationDictionary = [self operationDictionary]; 44 | id operations = operationDictionary[key]; 45 | if (operations) { 46 | if ([operations isKindOfClass:[NSArray class]]) { 47 | for (id operation in operations) { 48 | if (operation) { 49 | [operation cancel]; 50 | } 51 | } 52 | } else if ([operations conformsToProtocol:@protocol(SDWebImageOperation)]){ 53 | [(id) operations cancel]; 54 | } 55 | [operationDictionary removeObjectForKey:key]; 56 | } 57 | } 58 | 59 | - (void)sd_removeImageLoadOperationWithKey:(nullable NSString *)key { 60 | if (key) { 61 | SDOperationsDictionary *operationDictionary = [self operationDictionary]; 62 | [operationDictionary removeObjectForKey:key]; 63 | } 64 | } 65 | 66 | @end 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /Pods/Mantle/LICENSE.md: -------------------------------------------------------------------------------- 1 | **Copyright (c) 2012 - 2014, GitHub, Inc.** 2 | **All rights reserved.** 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9 | 10 | --- 11 | 12 | **This project uses portions of code from the Proton framework.** 13 | **Proton is copyright (c) 2012, Bitswift, Inc.** 14 | **All rights reserved.** 15 | 16 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 17 | 18 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 19 | * Neither the name of the Bitswift, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 | -------------------------------------------------------------------------------- /SYLongPressDragSort/Home/Views/FNHomeSettingTableViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // FNSettingTableViewCell.m 3 | // FNMerchant 4 | // 5 | // Created by 张苏亚 on 16/8/31. 6 | // Copyright © 2016年 suya. All rights reserved. 7 | // 8 | 9 | #import "FNHomeSettingTableViewCell.h" 10 | #import "FNGetStoreManagementSettingModel.h" 11 | #import "FNHomeSettingViewController.h" 12 | #import "FNGetBiSettingModel.h" 13 | @interface FNHomeSettingTableViewCell() 14 | @property (weak, nonatomic) IBOutlet UILabel *settingTextLabel; 15 | @property (weak, nonatomic) IBOutlet FNSwitch *settingSwitch; 16 | 17 | @end 18 | 19 | @implementation FNHomeSettingTableViewCell 20 | 21 | - (void)awakeFromNib { 22 | [super awakeFromNib]; 23 | // Initialization code 24 | } 25 | 26 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated { 27 | [super setSelected:selected animated:animated]; 28 | 29 | // Configure the view for the selected state 30 | } 31 | 32 | -(void)setVCStyle:(FNHomeSettingViewControllerStyle )style model:(__kindof MTLModel *)model 33 | { 34 | // _settingSwitch.onTintColor = [UIColor fn_color:FNColor_green]; 35 | _settingSwitch.exclusiveTouch = YES; 36 | 37 | if (style ==FNHomeSettingViewControllerStyleBi) { 38 | FNBiSettingModel *biSettingInfoModel = model; 39 | _settingTextLabel.text = [NSString stringWithFormat:@"%@",biSettingInfoModel.name]; 40 | if ([biSettingInfoModel.isVisible integerValue] ==0) { 41 | _settingSwitch.on = NO; 42 | }else if ([biSettingInfoModel.isVisible integerValue] ==1) 43 | { 44 | _settingSwitch.on = YES; 45 | } 46 | 47 | }else if (style ==FNHomeSettingViewControllerStyleManagement) 48 | { 49 | FNStoreManagementSettingModel *modelSettingInfoModel = model; 50 | _settingTextLabel.text = [NSString stringWithFormat:@"%@",modelSettingInfoModel.name]; 51 | if ([modelSettingInfoModel.isVisible integerValue] ==0) { 52 | 53 | _settingSwitch.on = NO; 54 | 55 | }else if ([modelSettingInfoModel.isVisible integerValue] ==1) 56 | { 57 | _settingSwitch.on = YES; 58 | } 59 | } 60 | // [_settingSwitch addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged]; 61 | } 62 | 63 | - (IBAction)switchChanged:(FNSwitch *)sender { 64 | 65 | if ([_delegate respondsToSelector:@selector(settingSwitchChanged:)]) { 66 | 67 | [_delegate settingSwitchChanged:sender]; 68 | } 69 | } 70 | 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /SYLongPressDragSort/SYLongPressDragSort-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // SYLongPressDragSort-Prefix.pch 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/17. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #ifndef SYLongPressDragSort_Prefix_pch 10 | #define SYLongPressDragSort_Prefix_pch 11 | 12 | // Include any system framework and library headers here that should be included in all compilation units. 13 | // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. 14 | #ifdef __OBJC__ 15 | 16 | #import 17 | //#import 18 | //#import 19 | #import 20 | #import "NSValueTransformer+MTLPredefinedTransformerAdditions.h" 21 | #import "SYLMacros.h" 22 | #import "UIColor+Hex.h" 23 | #import "NSMutableArray+Add.h" 24 | //#import "UIColor+FNColor.h" 25 | //#import 26 | //#import "FNEnvironmentHeader.h" 27 | //#import "FNTabBar.h" 28 | 29 | 30 | #endif 31 | 32 | #ifdef DEBUG 33 | #define DLog(...) NSLog(__VA_ARGS__) 34 | #else 35 | #define DLog(...) 36 | #endif 37 | 38 | #define WS(weakSelf) __weak __typeof(&*self)weakSelf = self 39 | 40 | #ifndef strongify 41 | #if DEBUG 42 | #if __has_feature(objc_arc) 43 | #define strongify(object) autoreleasepool{} __typeof__(object) object = weak##_##object; 44 | #else 45 | #define strongify(object) autoreleasepool{} __typeof__(object) object = block##_##object; 46 | #endif 47 | #else 48 | #if __has_feature(objc_arc) 49 | #define strongify(object) try{} @finally{} __typeof__(object) object = weak##_##object; 50 | #else 51 | #define strongify(object) try{} @finally{} __typeof__(object) object = block##_##object; 52 | #endif 53 | #endif 54 | #endif 55 | ; 56 | //** #define FNDeprecated(instead) NS_DEPRECATED(2_0, 2_0, 2_0, 2_0, instead) 57 | //** #define IS_iPad UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad 58 | //** #define kColorWithRGB(r, g, b) [UIColor colorWithRed:(r) / 255.f green:(g) / 255.f blue:(b) / 255.f alpha:1.f] 59 | #define kScreenWidth CGRectGetWidth([UIScreen mainScreen].bounds) 60 | #define kScreenHeight CGRectGetHeight([UIScreen mainScreen].bounds) 61 | 62 | // 单例 63 | #undef AS_SINGLETON 64 | #define AS_SINGLETON( __class ) \ 65 | + (__class *)sharedInstance; 66 | 67 | #undef DEF_SINGLETON 68 | #define DEF_SINGLETON( __class ) \ 69 | + (__class *)sharedInstance \ 70 | { \ 71 | static dispatch_once_t once; \ 72 | static __class * __singleton__; \ 73 | dispatch_once( &once, ^{ __singleton__ = [[__class alloc] init]; } ); \ 74 | return __singleton__; \ 75 | } 76 | 77 | 78 | #endif /* SYLongPressDragSort_Prefix_pch */ 79 | -------------------------------------------------------------------------------- /SYLongPressDragSort/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // SYLongPressDragSort 4 | // 5 | // Created by 张苏亚 on 17/5/12. 6 | // Copyright © 2017年 张苏亚. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | #import "SYLTabBarViewController.h" 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 20 | self.window.backgroundColor = [UIColor whiteColor]; 21 | 22 | SYLTabBarViewController *tabBarCtrl = [[SYLTabBarViewController alloc] init]; 23 | 24 | self.window.rootViewController = tabBarCtrl; 25 | 26 | [self.window makeKeyAndVisible]; 27 | 28 | // Override point for customization after application launch. 29 | return YES; 30 | } 31 | 32 | 33 | - (void)applicationWillResignActive:(UIApplication *)application { 34 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 35 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 36 | } 37 | 38 | 39 | - (void)applicationDidEnterBackground:(UIApplication *)application { 40 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 41 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 42 | } 43 | 44 | 45 | - (void)applicationWillEnterForeground:(UIApplication *)application { 46 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 47 | } 48 | 49 | 50 | - (void)applicationDidBecomeActive:(UIApplication *)application { 51 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 52 | } 53 | 54 | 55 | - (void)applicationWillTerminate:(UIApplication *)application { 56 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 57 | } 58 | 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/extobjc/MTLEXTKeyPathCoding.h: -------------------------------------------------------------------------------- 1 | // 2 | // EXTKeyPathCoding.h 3 | // extobjc 4 | // 5 | // Created by Justin Spahr-Summers on 19.06.12. 6 | // Copyright (C) 2012 Justin Spahr-Summers. 7 | // Released under the MIT license. 8 | // 9 | 10 | #import 11 | #import "metamacros.h" 12 | 13 | /** 14 | * \@keypath allows compile-time verification of key paths. Given a real object 15 | * receiver and key path: 16 | * 17 | * @code 18 | 19 | NSString *UTF8StringPath = @keypath(str.lowercaseString.UTF8String); 20 | // => @"lowercaseString.UTF8String" 21 | 22 | NSString *versionPath = @keypath(NSObject, version); 23 | // => @"version" 24 | 25 | NSString *lowercaseStringPath = @keypath(NSString.new, lowercaseString); 26 | // => @"lowercaseString" 27 | 28 | * @endcode 29 | * 30 | * ... the macro returns an \c NSString containing all but the first path 31 | * component or argument (e.g., @"lowercaseString.UTF8String", @"version"). 32 | * 33 | * In addition to simply creating a key path, this macro ensures that the key 34 | * path is valid at compile-time (causing a syntax error if not), and supports 35 | * refactoring, such that changing the name of the property will also update any 36 | * uses of \@keypath. 37 | */ 38 | #define keypath(...) \ 39 | metamacro_if_eq(1, metamacro_argcount(__VA_ARGS__))(keypath1(__VA_ARGS__))(keypath2(__VA_ARGS__)) 40 | 41 | #define keypath1(PATH) \ 42 | (((void)(NO && ((void)PATH, NO)), strchr(# PATH, '.') + 1)) 43 | 44 | #define keypath2(OBJ, PATH) \ 45 | (((void)(NO && ((void)OBJ.PATH, NO)), # PATH)) 46 | 47 | /** 48 | * \@collectionKeypath allows compile-time verification of key paths across collections NSArray/NSSet etc. Given a real object 49 | * receiver, collection object receiver and related keypaths: 50 | * 51 | * @code 52 | 53 | NSString *employessFirstNamePath = @collectionKeypath(department.employees, Employee.new, firstName) 54 | // => @"employees.firstName" 55 | 56 | NSString *employessFirstNamePath = @collectionKeypath(Department.new, employees, Employee.new, firstName) 57 | // => @"employees.firstName" 58 | 59 | * @endcode 60 | * 61 | */ 62 | #define collectionKeypath(...) \ 63 | metamacro_if_eq(3, metamacro_argcount(__VA_ARGS__))(collectionKeypath3(__VA_ARGS__))(collectionKeypath4(__VA_ARGS__)) 64 | 65 | #define collectionKeypath3(PATH, COLLECTION_OBJECT, COLLECTION_PATH) ([[NSString stringWithFormat:@"%s.%s",keypath(PATH), keypath(COLLECTION_OBJECT, COLLECTION_PATH)] UTF8String]) 66 | 67 | #define collectionKeypath4(OBJ, PATH, COLLECTION_OBJECT, COLLECTION_PATH) ([[NSString stringWithFormat:@"%s.%s",keypath(OBJ, PATH), keypath(COLLECTION_OBJECT, COLLECTION_PATH)] UTF8String]) 68 | 69 | -------------------------------------------------------------------------------- /Pods/Mantle/Mantle/MTLValueTransformer.m: -------------------------------------------------------------------------------- 1 | // 2 | // MTLValueTransformer.m 3 | // Mantle 4 | // 5 | // Created by Justin Spahr-Summers on 2012-09-11. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "MTLValueTransformer.h" 10 | 11 | // 12 | // Any MTLValueTransformer supporting reverse transformation. Necessary because 13 | // +allowsReverseTransformation is a class method. 14 | // 15 | @interface MTLReversibleValueTransformer : MTLValueTransformer 16 | @end 17 | 18 | @interface MTLValueTransformer () 19 | 20 | @property (nonatomic, copy, readonly) MTLValueTransformerBlock forwardBlock; 21 | @property (nonatomic, copy, readonly) MTLValueTransformerBlock reverseBlock; 22 | 23 | @end 24 | 25 | @implementation MTLValueTransformer 26 | 27 | #pragma mark Lifecycle 28 | 29 | + (instancetype)transformerWithBlock:(MTLValueTransformerBlock)transformationBlock { 30 | return [[self alloc] initWithForwardBlock:transformationBlock reverseBlock:nil]; 31 | } 32 | 33 | + (instancetype)reversibleTransformerWithBlock:(MTLValueTransformerBlock)transformationBlock { 34 | return [self reversibleTransformerWithForwardBlock:transformationBlock reverseBlock:transformationBlock]; 35 | } 36 | 37 | + (instancetype)reversibleTransformerWithForwardBlock:(MTLValueTransformerBlock)forwardBlock reverseBlock:(MTLValueTransformerBlock)reverseBlock { 38 | return [[MTLReversibleValueTransformer alloc] initWithForwardBlock:forwardBlock reverseBlock:reverseBlock]; 39 | } 40 | 41 | - (id)initWithForwardBlock:(MTLValueTransformerBlock)forwardBlock reverseBlock:(MTLValueTransformerBlock)reverseBlock { 42 | NSParameterAssert(forwardBlock != nil); 43 | 44 | self = [super init]; 45 | if (self == nil) return nil; 46 | 47 | _forwardBlock = [forwardBlock copy]; 48 | _reverseBlock = [reverseBlock copy]; 49 | 50 | return self; 51 | } 52 | 53 | #pragma mark NSValueTransformer 54 | 55 | + (BOOL)allowsReverseTransformation { 56 | return NO; 57 | } 58 | 59 | + (Class)transformedValueClass { 60 | return [NSObject class]; 61 | } 62 | 63 | - (id)transformedValue:(id)value { 64 | return self.forwardBlock(value); 65 | } 66 | 67 | @end 68 | 69 | @implementation MTLReversibleValueTransformer 70 | 71 | #pragma mark Lifecycle 72 | 73 | - (id)initWithForwardBlock:(MTLValueTransformerBlock)forwardBlock reverseBlock:(MTLValueTransformerBlock)reverseBlock { 74 | NSParameterAssert(reverseBlock != nil); 75 | return [super initWithForwardBlock:forwardBlock reverseBlock:reverseBlock]; 76 | } 77 | 78 | #pragma mark NSValueTransformer 79 | 80 | + (BOOL)allowsReverseTransformation { 81 | return YES; 82 | } 83 | 84 | - (id)reverseTransformedValue:(id)value { 85 | return self.reverseBlock(value); 86 | } 87 | 88 | @end 89 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASAdditions.h 3 | // 4 | // 5 | // Created by Daniel Hammond on 11/26/13. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | typedef NS_ENUM(NSUInteger, MASAxisType) { 14 | MASAxisTypeHorizontal, 15 | MASAxisTypeVertical 16 | }; 17 | 18 | @interface NSArray (MASAdditions) 19 | 20 | /** 21 | * Creates a MASConstraintMaker with each view in the callee. 22 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view 23 | * 24 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 25 | * 26 | * @return Array of created MASConstraints 27 | */ 28 | - (NSArray *)mas_makeConstraints:(void (^)(MASConstraintMaker *make))block; 29 | 30 | /** 31 | * Creates a MASConstraintMaker with each view in the callee. 32 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 33 | * If an existing constraint exists then it will be updated instead. 34 | * 35 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 36 | * 37 | * @return Array of created/updated MASConstraints 38 | */ 39 | - (NSArray *)mas_updateConstraints:(void (^)(MASConstraintMaker *make))block; 40 | 41 | /** 42 | * Creates a MASConstraintMaker with each view in the callee. 43 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 44 | * All constraints previously installed for the views will be removed. 45 | * 46 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 47 | * 48 | * @return Array of created/updated MASConstraints 49 | */ 50 | - (NSArray *)mas_remakeConstraints:(void (^)(MASConstraintMaker *make))block; 51 | 52 | /** 53 | * distribute with fixed spacing 54 | * 55 | * @param axisType which axis to distribute items along 56 | * @param fixedSpacing the spacing between each item 57 | * @param leadSpacing the spacing before the first item and the container 58 | * @param tailSpacing the spacing after the last item and the container 59 | */ 60 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; 61 | 62 | /** 63 | * distribute with fixed item size 64 | * 65 | * @param axisType which axis to distribute items along 66 | * @param fixedItemLength the fixed length of each item 67 | * @param leadSpacing the spacing before the first item and the container 68 | * @param tailSpacing the spacing after the last item and the container 69 | */ 70 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/UIView+WebCache.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if SD_UIKIT || SD_MAC 12 | 13 | #import "SDWebImageManager.h" 14 | 15 | typedef void(^SDSetImageBlock)(UIImage * _Nullable image, NSData * _Nullable imageData); 16 | 17 | @interface UIView (WebCache) 18 | 19 | /** 20 | * Get the current image URL. 21 | * 22 | * Note that because of the limitations of categories this property can get out of sync 23 | * if you use setImage: directly. 24 | */ 25 | - (nullable NSURL *)sd_imageURL; 26 | 27 | /** 28 | * Set the imageView `image` with an `url` and optionally a placeholder image. 29 | * 30 | * The download is asynchronous and cached. 31 | * 32 | * @param url The url for the image. 33 | * @param placeholder The image to be set initially, until the image request finishes. 34 | * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. 35 | * @param operationKey A string to be used as the operation key. If nil, will use the class name 36 | * @param setImageBlock Block used for custom set image code 37 | * @param progressBlock A block called while image is downloading 38 | * @note the progress block is executed on a background queue 39 | * @param completedBlock A block called when operation has been completed. This block has no return value 40 | * and takes the requested UIImage as first parameter. In case of error the image parameter 41 | * is nil and the second parameter may contain an NSError. The third parameter is a Boolean 42 | * indicating if the image was retrieved from the local cache or from the network. 43 | * The fourth parameter is the original image url. 44 | */ 45 | - (void)sd_internalSetImageWithURL:(nullable NSURL *)url 46 | placeholderImage:(nullable UIImage *)placeholder 47 | options:(SDWebImageOptions)options 48 | operationKey:(nullable NSString *)operationKey 49 | setImageBlock:(nullable SDSetImageBlock)setImageBlock 50 | progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock 51 | completed:(nullable SDExternalCompletionBlock)completedBlock; 52 | 53 | /** 54 | * Cancel the current download 55 | */ 56 | - (void)sd_cancelCurrentImageLoad; 57 | 58 | #if SD_UIKIT 59 | 60 | #pragma mark - Activity indicator 61 | 62 | /** 63 | * Show activity UIActivityIndicatorView 64 | */ 65 | - (void)sd_setShowActivityIndicatorView:(BOOL)show; 66 | 67 | /** 68 | * set desired UIActivityIndicatorViewStyle 69 | * 70 | * @param style The style of the UIActivityIndicatorView 71 | */ 72 | - (void)sd_setIndicatorStyle:(UIActivityIndicatorViewStyle)style; 73 | 74 | - (BOOL)sd_showActivityIndicatorView; 75 | - (void)sd_addActivityIndicator; 76 | - (void)sd_removeActivityIndicator; 77 | 78 | #endif 79 | 80 | @end 81 | 82 | #endif 83 | --------------------------------------------------------------------------------