├── Pods ├── Headers │ ├── Private │ │ ├── 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 │ │ │ ├── SDWebImage.h │ │ │ ├── SDDiskCache.h │ │ │ ├── SDImageCache.h │ │ │ ├── SDImageCoder.h │ │ │ ├── SDImageFrame.h │ │ │ ├── SDImageLoader.h │ │ │ ├── SDMemoryCache.h │ │ │ ├── SDWeakProxy.h │ │ │ ├── UIImage+GIF.h │ │ │ ├── SDAnimatedImage.h │ │ │ ├── SDDeviceHelper.h │ │ │ ├── SDDisplayLink.h │ │ │ ├── SDImageGIFCoder.h │ │ │ ├── SDImageGraphics.h │ │ │ ├── SDImageIOCoder.h │ │ │ ├── SDWebImageError.h │ │ │ ├── SDmetamacros.h │ │ │ ├── UIView+WebCache.h │ │ │ ├── NSButton+WebCache.h │ │ │ ├── SDAnimatedImageRep.h │ │ │ ├── SDImageAPNGCoder.h │ │ │ ├── SDImageCacheConfig.h │ │ │ ├── SDImageCacheDefine.h │ │ │ ├── SDImageCoderHelper.h │ │ │ ├── SDImageHEICCoder.h │ │ │ ├── SDImageTransformer.h │ │ │ ├── SDInternalMacros.h │ │ │ ├── SDWebImageCompat.h │ │ │ ├── SDWebImageDefine.h │ │ │ ├── SDWebImageManager.h │ │ │ ├── UIButton+WebCache.h │ │ │ ├── UIImage+Metadata.h │ │ │ ├── UIImage+Transform.h │ │ │ ├── SDAnimatedImageView.h │ │ │ ├── SDAssociatedObject.h │ │ │ ├── SDImageAssetManager.h │ │ │ ├── SDImageCachesManager.h │ │ │ ├── SDImageCodersManager.h │ │ │ ├── SDWebImageDownloader.h │ │ │ ├── SDWebImageIndicator.h │ │ │ ├── SDWebImageOperation.h │ │ │ ├── SDWebImagePrefetcher.h │ │ │ ├── SDWebImageTransition.h │ │ │ ├── UIColor+HexString.h │ │ │ ├── UIImage+ForceDecode.h │ │ │ ├── UIImage+MultiFormat.h │ │ │ ├── UIImageView+WebCache.h │ │ │ ├── NSData+ImageContentType.h │ │ │ ├── NSImage+Compatibility.h │ │ │ ├── SDAnimatedImagePlayer.h │ │ │ ├── SDAsyncBlockOperation.h │ │ │ ├── SDFileAttributeHelper.h │ │ │ ├── SDGraphicsImageRenderer.h │ │ │ ├── SDImageIOAnimatedCoder.h │ │ │ ├── SDImageLoadersManager.h │ │ │ ├── UIImage+MemoryCacheCost.h │ │ │ ├── SDImageHEICCoderInternal.h │ │ │ ├── SDWebImageCacheKeyFilter.h │ │ │ ├── SDWebImageCacheSerializer.h │ │ │ ├── UIImage+ExtendedCacheData.h │ │ │ ├── UIView+WebCacheOperation.h │ │ │ ├── SDAnimatedImageView+WebCache.h │ │ │ ├── SDWebImageDownloaderConfig.h │ │ │ ├── SDWebImageOptionsProcessor.h │ │ │ ├── NSBezierPath+RoundedCorners.h │ │ │ ├── SDImageCachesManagerOperation.h │ │ │ ├── SDWebImageDownloaderDecryptor.h │ │ │ ├── SDWebImageDownloaderOperation.h │ │ │ ├── SDImageIOAnimatedCoderInternal.h │ │ │ ├── UIImageView+HighlightedWebCache.h │ │ │ ├── SDWebImageDownloaderRequestModifier.h │ │ │ └── SDWebImageDownloaderResponseModifier.h │ │ ├── CCEasyKVO │ │ │ └── NSObject+CCEasyKVO.h │ │ └── LHPerformanceStatusBar │ │ │ ├── LHPerformanceUtil.h │ │ │ ├── LHPerformanceConfig.h │ │ │ ├── LHPerformanceLabel.h │ │ │ ├── LHPerformanceTypes.h │ │ │ ├── LHPerformanceStatusBar.h │ │ │ └── LHPerformanceMonitorService.h │ └── Public │ │ ├── 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 │ │ ├── SDWebImage.h │ │ ├── SDDiskCache.h │ │ ├── UIImage+GIF.h │ │ ├── SDImageCache.h │ │ ├── SDImageCoder.h │ │ ├── SDImageFrame.h │ │ ├── SDImageLoader.h │ │ ├── SDMemoryCache.h │ │ ├── SDAnimatedImage.h │ │ ├── SDImageAPNGCoder.h │ │ ├── SDImageGIFCoder.h │ │ ├── SDImageGraphics.h │ │ ├── SDImageHEICCoder.h │ │ ├── SDImageIOCoder.h │ │ ├── SDWebImageCompat.h │ │ ├── SDWebImageDefine.h │ │ ├── SDWebImageError.h │ │ ├── UIImage+Metadata.h │ │ ├── UIView+WebCache.h │ │ ├── NSButton+WebCache.h │ │ ├── SDAnimatedImageRep.h │ │ ├── SDImageCacheConfig.h │ │ ├── SDImageCacheDefine.h │ │ ├── SDImageCoderHelper.h │ │ ├── SDImageTransformer.h │ │ ├── SDWebImageManager.h │ │ ├── UIButton+WebCache.h │ │ ├── UIImage+Transform.h │ │ ├── NSImage+Compatibility.h │ │ ├── SDAnimatedImagePlayer.h │ │ ├── SDAnimatedImageView.h │ │ ├── SDImageCachesManager.h │ │ ├── SDImageCodersManager.h │ │ ├── SDImageLoadersManager.h │ │ ├── SDWebImageDownloader.h │ │ ├── SDWebImageIndicator.h │ │ ├── SDWebImageOperation.h │ │ ├── SDWebImagePrefetcher.h │ │ ├── SDWebImageTransition.h │ │ ├── UIImage+ForceDecode.h │ │ ├── UIImage+MultiFormat.h │ │ ├── UIImageView+WebCache.h │ │ ├── NSData+ImageContentType.h │ │ ├── SDGraphicsImageRenderer.h │ │ ├── SDImageIOAnimatedCoder.h │ │ ├── UIImage+MemoryCacheCost.h │ │ ├── SDWebImageCacheKeyFilter.h │ │ ├── SDWebImageCacheSerializer.h │ │ ├── SDWebImageDownloaderConfig.h │ │ ├── SDWebImageOptionsProcessor.h │ │ ├── UIImage+ExtendedCacheData.h │ │ ├── UIView+WebCacheOperation.h │ │ ├── SDAnimatedImageView+WebCache.h │ │ ├── SDWebImageDownloaderDecryptor.h │ │ ├── SDWebImageDownloaderOperation.h │ │ ├── UIImageView+HighlightedWebCache.h │ │ ├── SDWebImageDownloaderRequestModifier.h │ │ └── SDWebImageDownloaderResponseModifier.h │ │ ├── CCEasyKVO │ │ └── NSObject+CCEasyKVO.h │ │ └── LHPerformanceStatusBar │ │ ├── LHPerformanceLabel.h │ │ ├── LHPerformanceTypes.h │ │ ├── LHPerformanceUtil.h │ │ ├── LHPerformanceConfig.h │ │ ├── LHPerformanceStatusBar.h │ │ └── LHPerformanceMonitorService.h ├── Target Support Files │ ├── Masonry │ │ ├── Masonry.modulemap │ │ ├── Masonry-dummy.m │ │ ├── Masonry-prefix.pch │ │ ├── Masonry.debug.xcconfig │ │ ├── Masonry.release.xcconfig │ │ ├── Masonry-Info.plist │ │ └── Masonry-umbrella.h │ ├── CCEasyKVO │ │ ├── CCEasyKVO.modulemap │ │ ├── CCEasyKVO-dummy.m │ │ ├── CCEasyKVO-prefix.pch │ │ ├── CCEasyKVO-umbrella.h │ │ ├── CCEasyKVO.debug.xcconfig │ │ ├── CCEasyKVO.release.xcconfig │ │ └── CCEasyKVO-Info.plist │ ├── SDWebImage │ │ ├── SDWebImage-dummy.m │ │ ├── SDWebImage-prefix.pch │ │ ├── SDWebImage.debug.xcconfig │ │ └── SDWebImage.release.xcconfig │ ├── Pods-QQHomePage │ │ ├── Pods-QQHomePage.modulemap │ │ ├── Pods-QQHomePage-dummy.m │ │ ├── Pods-QQHomePage-frameworks-Debug-output-files.xcfilelist │ │ ├── Pods-QQHomePage-frameworks-Release-output-files.xcfilelist │ │ ├── Pods-QQHomePage-frameworks-Debug-input-files.xcfilelist │ │ ├── Pods-QQHomePage-frameworks-Release-input-files.xcfilelist │ │ ├── Pods-QQHomePage-umbrella.h │ │ ├── Pods-QQHomePage-Info.plist │ │ ├── Pods-QQHomePage.debug.xcconfig │ │ └── Pods-QQHomePage.release.xcconfig │ └── LHPerformanceStatusBar │ │ ├── LHPerformanceStatusBar.modulemap │ │ ├── LHPerformanceStatusBar-dummy.m │ │ ├── LHPerformanceStatusBar-prefix.pch │ │ ├── LHPerformanceStatusBar-umbrella.h │ │ ├── LHPerformanceStatusBar.debug.xcconfig │ │ ├── LHPerformanceStatusBar.release.xcconfig │ │ └── LHPerformanceStatusBar-Info.plist ├── 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 │ └── LICENSE ├── LHPerformanceStatusBar │ ├── Classes │ │ ├── LHPerformanceUtil.h │ │ ├── LHPerformanceLabel.h │ │ ├── LHPerformanceStatusBar.h │ │ ├── LHPerformanceTypes.h │ │ ├── LHPerformanceMonitorService.h │ │ ├── LHPerformanceConfig.h │ │ ├── LHPerformanceConfig.m │ │ └── LHPerformanceLabel.m │ ├── LICENSE │ └── README.md ├── SDWebImage │ ├── SDWebImage │ │ ├── Private │ │ │ ├── SDInternalMacros.m │ │ │ ├── SDDeviceHelper.h │ │ │ ├── UIColor+HexString.h │ │ │ ├── SDAssociatedObject.h │ │ │ ├── SDWeakProxy.h │ │ │ ├── SDImageCachesManagerOperation.h │ │ │ ├── NSBezierPath+RoundedCorners.h │ │ │ ├── SDImageIOAnimatedCoderInternal.h │ │ │ ├── SDAsyncBlockOperation.h │ │ │ ├── SDImageHEICCoderInternal.h │ │ │ ├── SDAssociatedObject.m │ │ │ ├── SDDeviceHelper.m │ │ │ ├── SDDisplayLink.h │ │ │ ├── SDImageAssetManager.h │ │ │ ├── SDFileAttributeHelper.h │ │ │ └── UIColor+HexString.m │ │ └── Core │ │ │ ├── SDWebImageError.m │ │ │ ├── SDWebImageCompat.m │ │ │ ├── SDWebImageOperation.h │ │ │ ├── UIImage+GIF.m │ │ │ ├── SDImageAPNGCoder.h │ │ │ ├── UIImage+ExtendedCacheData.m │ │ │ ├── SDImageFrame.m │ │ │ ├── UIImage+GIF.h │ │ │ ├── SDImageCoder.m │ │ │ ├── SDWebImageCacheKeyFilter.m │ │ │ ├── SDImageGIFCoder.h │ │ │ ├── SDWebImageCacheKeyFilter.h │ │ │ ├── SDWebImageCacheSerializer.m │ │ │ ├── SDWebImageDownloaderRequestModifier.m │ │ │ ├── SDImageHEICCoder.h │ │ │ ├── SDWebImageDownloaderResponseModifier.m │ │ │ ├── SDAnimatedImageRep.h │ │ │ ├── SDImageLoadersManager.h │ │ │ ├── SDImageFrame.h │ │ │ ├── SDImageIOCoder.h │ │ │ ├── UIImage+ExtendedCacheData.h │ │ │ ├── UIImage+MemoryCacheCost.h │ │ │ ├── UIImage+ForceDecode.m │ │ │ ├── SDImageGIFCoder.m │ │ │ ├── UIImage+MemoryCacheCost.m │ │ │ ├── SDWebImageCacheSerializer.h │ │ │ ├── UIImage+ForceDecode.h │ │ │ ├── SDWebImageDownloaderRequestModifier.h │ │ │ ├── SDImageGraphics.h │ │ │ ├── SDWebImageDownloaderConfig.m │ │ │ ├── SDWebImageDownloaderResponseModifier.h │ │ │ ├── SDWebImageOptionsProcessor.m │ │ │ ├── UIView+WebCacheOperation.h │ │ │ ├── SDWebImageError.h │ │ │ └── SDWebImageDownloaderDecryptor.m │ └── LICENSE ├── Manifest.lock ├── CCEasyKVO │ ├── CCEasyKVO │ │ └── Classes │ │ │ └── NSObject+CCEasyKVO.h │ └── LICENSE └── Pods.xcodeproj │ └── xcuserdata │ └── cocos.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── QQHomePage ├── Resource │ ├── 001.jpg │ ├── 002.jpg │ ├── 003.jpg │ ├── 004.jpg │ ├── song1.jpg │ ├── song2.jpg │ ├── icon001@2x.png │ ├── icon001@3x.png │ ├── icon002@2x.png │ ├── icon002@3x.png │ ├── icon003@2x.png │ ├── icon003@3x.png │ ├── icon004@2x.png │ ├── icon004@3x.png │ ├── icon005@2x.png │ ├── icon005@3x.png │ ├── UIColor+CCUtility.h │ └── UIColor+CCUtility.m ├── Assets.xcassets │ ├── Contents.json │ ├── VIP.imageset │ │ ├── vip@2x.png │ │ ├── vip@2x-1.png │ │ ├── vip@2x-2.png │ │ └── Contents.json │ ├── More.imageset │ │ ├── ico-更多@2x.png │ │ ├── ico-更多@3x.png │ │ └── Contents.json │ ├── Listen.imageset │ │ ├── listen@2x.png │ │ ├── listen@2x-1.png │ │ └── Contents.json │ ├── Search.imageset │ │ ├── head-ico-搜索@2x.png │ │ ├── head-ico-搜索@3x.png │ │ └── Contents.json │ └── CoverPlay.imageset │ │ ├── cover_play@2x.png │ │ ├── cover_play@2x-1.png │ │ └── Contents.json ├── ViewController.h ├── ThirdLib │ └── SDCycleScrollView │ │ ├── PageControl │ │ ├── TADotView.h │ │ ├── TAAnimatedDotView.h │ │ ├── TAAbstractDotView.h │ │ ├── TAAbstractDotView.m │ │ └── TADotView.m │ │ ├── UIView+SDExtension.h │ │ └── SDCollectionViewCell.h ├── AppDelegate.h ├── SceneDelegate.h ├── View │ ├── SongList │ │ ├── SongListCell.h │ │ ├── SongCollectionViewCell.h │ │ ├── SongListCell.m │ │ └── SongCollectionViewCell.m │ ├── SearchView │ │ ├── SearchView.h │ │ └── SearchView.m │ ├── MVList │ │ ├── MVCollectionViewCell.m │ │ ├── MVListCell.h │ │ ├── MVCollectionViewCell.h │ │ └── MVListCell.m │ ├── VipVIew │ │ ├── VIP1CollectionViewCell.m │ │ ├── VipViewCell.h │ │ └── VIP1CollectionViewCell.h │ ├── FunctionView │ │ ├── FunctionCollectionCell.m │ │ ├── FunctionCell.h │ │ └── FunctionCollectionCell.h │ ├── UILabel+Utility.h │ ├── TopicView │ │ ├── TopicCollectionViewCell.h │ │ ├── TopicViewCell.h │ │ ├── AsyncTopicView.h │ │ ├── TopicWalterfallFlowLayout.h │ │ ├── AsyncTopicView.m │ │ └── TopicCollectionViewCell.m │ ├── UIView │ │ ├── NewSongView.h │ │ └── NewSongView.m │ ├── UILabel+Utility.m │ ├── BaseTableViewCell.h │ ├── AsyncImageView.h │ └── BaseTableViewCell.m ├── Tools │ ├── AsyncImageCache.h │ └── AsyncImageCache.m ├── Model │ ├── TableViewCellModel.m │ ├── TableViewSectionModel.m │ ├── TableViewSectionModel.h │ └── TableViewCellModel.h ├── Data │ ├── JsonLoader.h │ └── JsonLoader.m ├── main.m ├── Lib │ └── YYAsyncLayer │ │ ├── YYSentinel.m │ │ ├── YYSentinel.h │ │ └── YYTransaction.h ├── AppDelegate.m └── Base.lproj │ └── LaunchScreen.storyboard ├── QQHomePage.xcodeproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcuserdata │ │ └── cocos.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── cocos.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── QQHomePage.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── Podfile └── Podfile.lock /Pods/Headers/Private/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.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/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/WebImage/SDWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/WebImage/SDWebImage.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/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/SDDiskCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDDiskCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+GIF.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/SDDiskCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDDiskCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageFrame.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageFrame.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageLoader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageLoader.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDMemoryCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDMemoryCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWeakProxy.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDWeakProxy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+GIF.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/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageFrame.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageFrame.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageLoader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageLoader.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDMemoryCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDMemoryCache.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/SDAnimatedImage.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDDeviceHelper.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDDeviceHelper.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDDisplayLink.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDDisplayLink.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageGIFCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageGIFCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageGraphics.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageGraphics.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageIOCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageIOCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageError.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageError.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDmetamacros.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDmetamacros.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIView+WebCache.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/SDAnimatedImage.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageAPNGCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageGIFCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageGIFCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageGraphics.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageGraphics.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageHEICCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageHEICCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageIOCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageIOCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageCompat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDefine.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDefine.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageError.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageError.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+Metadata.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+Metadata.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/CCEasyKVO/NSObject+CCEasyKVO.h: -------------------------------------------------------------------------------- 1 | ../../../CCEasyKVO/CCEasyKVO/Classes/NSObject+CCEasyKVO.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/NSButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDAnimatedImageRep.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageAPNGCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCacheConfig.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCacheConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCacheDefine.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCacheDefine.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCoderHelper.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCoderHelper.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageHEICCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageHEICCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageTransformer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageTransformer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDInternalMacros.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDInternalMacros.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageCompat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDefine.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDefine.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+Metadata.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+Metadata.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+Transform.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+Transform.h -------------------------------------------------------------------------------- /Pods/Headers/Public/CCEasyKVO/NSObject+CCEasyKVO.h: -------------------------------------------------------------------------------- 1 | ../../../CCEasyKVO/CCEasyKVO/Classes/NSObject+CCEasyKVO.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/NSButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/NSButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDAnimatedImageRep.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImageRep.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCacheConfig.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCacheConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCacheDefine.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCacheDefine.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCoderHelper.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCoderHelper.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageTransformer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageTransformer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIButton+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+Transform.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+Transform.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/SDAnimatedImageView.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImageView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDAssociatedObject.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDAssociatedObject.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageAssetManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDImageAssetManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCachesManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCachesManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCodersManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCodersManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageIndicator.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageIndicator.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageTransition.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageTransition.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIColor+HexString.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/UIColor+HexString.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+ForceDecode.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImageView+WebCache.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/NSImage+Compatibility.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/NSImage+Compatibility.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDAnimatedImagePlayer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDAnimatedImageView.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImageView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCachesManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCachesManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageCodersManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageCodersManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageLoadersManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageLoadersManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageIndicator.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageIndicator.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageTransition.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageTransition.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+ForceDecode.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+ForceDecode.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImageView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/NSData+ImageContentType.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSImage+Compatibility.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/NSImage+Compatibility.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDAnimatedImagePlayer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImagePlayer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDAsyncBlockOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDFileAttributeHelper.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDGraphicsImageRenderer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageIOAnimatedCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageLoadersManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageLoadersManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+MemoryCacheCost.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/NSData+ImageContentType.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDGraphicsImageRenderer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDGraphicsImageRenderer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDImageIOAnimatedCoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDImageIOAnimatedCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+MemoryCacheCost.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.h -------------------------------------------------------------------------------- /QQHomePage/Resource/001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/001.jpg -------------------------------------------------------------------------------- /QQHomePage/Resource/002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/002.jpg -------------------------------------------------------------------------------- /QQHomePage/Resource/003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/003.jpg -------------------------------------------------------------------------------- /QQHomePage/Resource/004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/004.jpg -------------------------------------------------------------------------------- /QQHomePage/Resource/song1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/song1.jpg -------------------------------------------------------------------------------- /QQHomePage/Resource/song2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/song2.jpg -------------------------------------------------------------------------------- /Pods/Headers/Private/LHPerformanceStatusBar/LHPerformanceUtil.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceUtil.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageHEICCoderInternal.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDImageHEICCoderInternal.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageCacheKeyFilter.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageCacheSerializer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImage+ExtendedCacheData.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/LHPerformanceStatusBar/LHPerformanceLabel.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceLabel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/LHPerformanceStatusBar/LHPerformanceTypes.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Public/LHPerformanceStatusBar/LHPerformanceUtil.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceUtil.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageCacheKeyFilter.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageCacheSerializer.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderConfig.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageOptionsProcessor.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImage+ExtendedCacheData.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Pods/Headers/Private/LHPerformanceStatusBar/LHPerformanceConfig.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Private/LHPerformanceStatusBar/LHPerformanceLabel.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceLabel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/LHPerformanceStatusBar/LHPerformanceTypes.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDAnimatedImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderConfig.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageOptionsProcessor.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/LHPerformanceStatusBar/LHPerformanceConfig.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceConfig.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDAnimatedImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDAnimatedImageView+WebCache.h -------------------------------------------------------------------------------- /QQHomePage/Resource/icon001@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon001@2x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon001@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon001@3x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon002@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon002@2x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon002@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon002@3x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon003@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon003@2x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon003@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon003@3x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon004@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon004@2x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon004@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon004@3x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon005@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon005@2x.png -------------------------------------------------------------------------------- /QQHomePage/Resource/icon005@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Resource/icon005@3x.png -------------------------------------------------------------------------------- /Pods/Headers/Private/LHPerformanceStatusBar/LHPerformanceStatusBar.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceStatusBar.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/NSBezierPath+RoundedCorners.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/NSBezierPath+RoundedCorners.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageCachesManagerOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderDecryptor.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/LHPerformanceStatusBar/LHPerformanceStatusBar.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceStatusBar.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderDecryptor.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDImageIOAnimatedCoderInternal.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/LHPerformanceStatusBar/LHPerformanceMonitorService.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceMonitorService.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderRequestModifier.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h -------------------------------------------------------------------------------- /Pods/Headers/Public/LHPerformanceStatusBar/LHPerformanceMonitorService.h: -------------------------------------------------------------------------------- 1 | ../../../LHPerformanceStatusBar/Classes/LHPerformanceMonitorService.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderRequestModifier.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.h -------------------------------------------------------------------------------- /Pods/Headers/Public/SDWebImage/SDWebImageDownloaderResponseModifier.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h -------------------------------------------------------------------------------- /Pods/Headers/Private/SDWebImage/SDWebImageDownloaderResponseModifier.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.h -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/VIP.imageset/vip@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/VIP.imageset/vip@2x.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/More.imageset/ico-更多@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/More.imageset/ico-更多@2x.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/More.imageset/ico-更多@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/More.imageset/ico-更多@3x.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/VIP.imageset/vip@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/VIP.imageset/vip@2x-1.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/VIP.imageset/vip@2x-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/VIP.imageset/vip@2x-2.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Listen.imageset/listen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/Listen.imageset/listen@2x.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Listen.imageset/listen@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/Listen.imageset/listen@2x-1.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.modulemap: -------------------------------------------------------------------------------- 1 | framework module Masonry { 2 | umbrella header "Masonry-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Search.imageset/head-ico-搜索@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/Search.imageset/head-ico-搜索@2x.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Search.imageset/head-ico-搜索@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/Search.imageset/head-ico-搜索@3x.png -------------------------------------------------------------------------------- /Pods/Target Support Files/CCEasyKVO/CCEasyKVO.modulemap: -------------------------------------------------------------------------------- 1 | framework module CCEasyKVO { 2 | umbrella header "CCEasyKVO-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/CoverPlay.imageset/cover_play@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/CoverPlay.imageset/cover_play@2x.png -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/CoverPlay.imageset/cover_play@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage/Assets.xcassets/CoverPlay.imageset/cover_play@2x-1.png -------------------------------------------------------------------------------- /Pods/Target Support Files/CCEasyKVO/CCEasyKVO-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_CCEasyKVO : NSObject 3 | @end 4 | @implementation PodsDummy_CCEasyKVO 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SDWebImage : NSObject 3 | @end 4 | @implementation PodsDummy_SDWebImage 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_QQHomePage { 2 | umbrella header "Pods-QQHomePage-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_QQHomePage : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_QQHomePage 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar.modulemap: -------------------------------------------------------------------------------- 1 | framework module LHPerformanceStatusBar { 2 | umbrella header "LHPerformanceStatusBar-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_LHPerformanceStatusBar : NSObject 3 | @end 4 | @implementation PodsDummy_LHPerformanceStatusBar 5 | @end 6 | -------------------------------------------------------------------------------- /QQHomePage.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /QQHomePage.xcodeproj/project.xcworkspace/xcuserdata/cocos.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos543/QQMusicHomePage/HEAD/QQHomePage.xcodeproj/project.xcworkspace/xcuserdata/cocos.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /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/CCEasyKVO/CCEasyKVO-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 | -------------------------------------------------------------------------------- /QQHomePage/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-frameworks-Debug-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CCEasyKVO.framework 2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LHPerformanceStatusBar.framework 3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-frameworks-Release-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CCEasyKVO.framework 2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LHPerformanceStatusBar.framework 3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /QQHomePage.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /QQHomePage.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar-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 | -------------------------------------------------------------------------------- /QQHomePage.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/PageControl/TADotView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TADotView.h 3 | // TAPageControl 4 | // 5 | // Created by Tanguy Aladenise on 2015-01-22. 6 | // Copyright (c) 2015 Tanguy Aladenise. All rights reserved. 7 | // 8 | 9 | #import "TAAbstractDotView.h" 10 | 11 | @interface TADotView : TAAbstractDotView 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '10.0' 3 | 4 | target 'QQHomePage' do 5 | # Comment the next line if you don't want to use dynamic frameworks 6 | 7 | # Pods for QQHomePage 8 | pod 'LHPerformanceStatusBar' 9 | pod 'Masonry' 10 | pod 'CCEasyKVO' 11 | pod 'SDWebImage' 12 | end 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-frameworks-Debug-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/CCEasyKVO/CCEasyKVO.framework 3 | ${BUILT_PRODUCTS_DIR}/LHPerformanceStatusBar/LHPerformanceStatusBar.framework 4 | ${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-frameworks-Release-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/CCEasyKVO/CCEasyKVO.framework 3 | ${BUILT_PRODUCTS_DIR}/LHPerformanceStatusBar/LHPerformanceStatusBar.framework 4 | ${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework -------------------------------------------------------------------------------- /QQHomePage/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (nonatomic, strong) UIWindow *window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /QQHomePage/SceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SceneDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow * window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /QQHomePage/View/SongList/SongListCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // SongListCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "BaseTableViewCell.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// 用来显示歌单的整体 14 | @interface SongListCell : BaseTableViewCell 15 | 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /QQHomePage/Tools/AsyncImageCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // AsyncImageCache.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/27. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "SDMemoryCache.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface AsyncImageCache : SDMemoryCache 14 | 15 | + (instancetype)shareCache; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceUtil.h: -------------------------------------------------------------------------------- 1 | // 2 | // QTPerformanceUtil.h 3 | // 4 | // 5 | // Created by Leo on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface LHPerformanceUtil : NSObject 13 | 14 | + (CGFloat)usedMemoryInMB; 15 | 16 | + (CGFloat)cpuUsage; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /QQHomePage/View/SearchView/SearchView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SearchView.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface SearchView : UIView 14 | /// 视图初始位置 15 | @property (nonatomic, assign) CGFloat originY; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /QQHomePage/View/MVList/MVCollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVCollectionViewCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "MVCollectionViewCell.h" 10 | 11 | @implementation MVCollectionViewCell 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | // Initialization code 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /QQHomePage/View/MVList/MVListCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVListCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "BaseTableViewCell.h" 10 | 11 | #import "MVCollectionViewCell.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface MVListCell : BaseTableViewCell 16 | 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /QQHomePage/View/VipVIew/VIP1CollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // VIP1CollectionViewCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/17. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "VIP1CollectionViewCell.h" 10 | 11 | @implementation VIP1CollectionViewCell 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | // Initialization code 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/PageControl/TAAnimatedDotView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TAAnimatedDotView.h 3 | // TAPageControl 4 | // 5 | // Created by Tanguy Aladenise on 2015-01-22. 6 | // Copyright (c) 2015 Tanguy Aladenise. All rights reserved. 7 | // 8 | 9 | #import "TAAbstractDotView.h" 10 | 11 | @interface TAAnimatedDotView : TAAbstractDotView 12 | 13 | @property (nonatomic, strong) UIColor *dotColor; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /QQHomePage/View/FunctionView/FunctionCollectionCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // FunctionCollectionCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "FunctionCollectionCell.h" 10 | 11 | @implementation FunctionCollectionCell 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | // Initialization code 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /QQHomePage/View/UILabel+Utility.h: -------------------------------------------------------------------------------- 1 | // 2 | // UILabel+Utility.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface UILabel (Utility) 14 | 15 | + (UILabel*)labelWithFontSize:(CGFloat)size color:(UIColor *)color; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /QQHomePage/Resource/UIColor+CCUtility.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+CCUtility.h 3 | // CCTrendCharts 4 | // 5 | // Created by Cocos on 2019/9/5. 6 | // Copyright © 2019 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface UIColor (CCUtility) 14 | 15 | + (UIColor *)cc_stringToColor:(NSString *)str opacity:(CGFloat)opacity; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /QQHomePage/View/VipVIew/VipViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // VipViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/17. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "BaseTableViewCell.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// VIP专区一共有2种CollectionViewCell视图, 一种内部有横向3个图片+标题, 另一种内部有竖向3个图片+标题 14 | @interface VipViewCell : BaseTableViewCell 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.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 "SDInternalMacros.h" 10 | 11 | void sd_executeCleanupBlock (__strong sd_cleanupBlock_t *block) { 12 | (*block)(); 13 | } 14 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_QQHomePageVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_QQHomePageVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /QQHomePage/View/TopicView/TopicCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // TopicCollectionViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface TopicCollectionViewCell : UICollectionViewCell 14 | 15 | @property (nonatomic, strong) UILabel *titleLabel; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /Pods/Target Support Files/CCEasyKVO/CCEasyKVO-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "NSObject+CCEasyKVO.h" 14 | 15 | FOUNDATION_EXPORT double CCEasyKVOVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char CCEasyKVOVersionString[]; 17 | 18 | -------------------------------------------------------------------------------- /QQHomePage/View/TopicView/TopicViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // TopicViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// 话题界面需要有一个自定义布局的Collection来实现横向流式布局 14 | @interface TopicViewCell : UITableViewCell 15 | 16 | @property (nonatomic, strong) UICollectionView *collectionView; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/More.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ico-更多@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ico-更多@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Listen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "listen@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "listen@2x-1.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /QQHomePage/View/FunctionView/FunctionCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FunctionCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// QQ音乐头部那几个图标, 名字真难取 14 | @interface FunctionCell : UITableViewCell 15 | 16 | /// 先用collection view实现 17 | @property (nonatomic, strong) UICollectionView *collectionView; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/CoverPlay.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "cover_play@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "cover_play@2x-1.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/Search.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "head-ico-搜索@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "head-ico-搜索@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /QQHomePage/Model/TableViewCellModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewCellModel.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "TableViewCellModel.h" 10 | 11 | @implementation TableViewCellModel 12 | 13 | + (instancetype)cellWithFreshUI:(RefreshUI)refreshBlock { 14 | TableViewCellModel *model = TableViewCellModel.new; 15 | model.refreshBlock = refreshBlock; 16 | return model; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /QQHomePage/Assets.xcassets/VIP.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "vip@2x.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "vip@2x-1.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "vip@2x-2.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /QQHomePage/View/TopicView/AsyncTopicView.h: -------------------------------------------------------------------------------- 1 | // 2 | // AsyncTopicView.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/18. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface AsyncTopicView : UIView 14 | 15 | /// 这个label只是用来存储文本的信息, 并不会真的被展示到屏幕上 16 | @property (nonatomic, strong) UILabel *textLabel; 17 | 18 | @property (nonatomic, assign) CGFloat cornerRadius; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /QQHomePage/Model/TableViewSectionModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewSectionModel.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "TableViewSectionModel.h" 10 | 11 | @implementation TableViewSectionModel 12 | 13 | + (instancetype)sectionWithCells:(NSMutableArray *)cells { 14 | TableViewSectionModel *model = TableViewSectionModel.new; 15 | model.cells = cells; 16 | return model; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /QQHomePage/Data/JsonLoader.h: -------------------------------------------------------------------------------- 1 | // 2 | // JsonLoader.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface JsonLoader : NSObject 14 | 15 | /// json文件的根路径 16 | @property (nonatomic, strong) NSString *baseUrl; 17 | 18 | + (NSArray *)jsonObjsWithFileName:(NSString *)name; 19 | 20 | + (instancetype)shareLoader; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /QQHomePage/View/FunctionView/FunctionCollectionCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FunctionCollectionCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface FunctionCollectionCell : UICollectionViewCell 14 | 15 | @property (weak, nonatomic) IBOutlet UIImageView *icon; 16 | 17 | @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /QQHomePage/View/UIView/NewSongView.h: -------------------------------------------------------------------------------- 1 | // 2 | // NewSongView.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface NewSongView : UIView 14 | @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 15 | @property (weak, nonatomic) IBOutlet UILabel *subTitleLabel; 16 | @property (weak, nonatomic) IBOutlet UIImageView *imgV; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /QQHomePage/Tools/AsyncImageCache.m: -------------------------------------------------------------------------------- 1 | // 2 | // AsyncImageCache.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/27. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "AsyncImageCache.h" 10 | 11 | @implementation AsyncImageCache 12 | 13 | + (instancetype)shareCache { 14 | static dispatch_once_t onceToken; 15 | static AsyncImageCache *cache; 16 | dispatch_once(&onceToken, ^{ 17 | cache = [[AsyncImageCache alloc] init]; 18 | }); 19 | return cache; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.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 | #import "SDWebImageCompat.h" 11 | 12 | /// Device information helper methods 13 | @interface SDDeviceHelper : NSObject 14 | 15 | + (NSUInteger)totalMemory; 16 | + (NSUInteger)freeMemory; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /QQHomePage/View/SearchView/SearchView.m: -------------------------------------------------------------------------------- 1 | // 2 | // SearchView.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "SearchView.h" 10 | 11 | @interface SearchView () 12 | 13 | @end 14 | 15 | @implementation SearchView 16 | 17 | /* 18 | // Only override drawRect: if you perform custom drawing. 19 | // An empty implementation adversely affects performance during animation. 20 | - (void)drawRect:(CGRect)rect { 21 | // Drawing code 22 | } 23 | */ 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Jamie Pinkham 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 "SDWebImageError.h" 11 | 12 | NSErrorDomain const _Nonnull SDWebImageErrorDomain = @"SDWebImageErrorDomain"; 13 | NSErrorUserInfoKey const _Nonnull SDWebImageErrorDownloadStatusCodeKey = @"SDWebImageErrorDownloadStatusCodeKey"; 14 | -------------------------------------------------------------------------------- /QQHomePage/View/UILabel+Utility.m: -------------------------------------------------------------------------------- 1 | // 2 | // UILabel+Utility.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "UILabel+Utility.h" 10 | 11 | @implementation UILabel (Utility) 12 | 13 | + (UILabel *)labelWithFontSize:(CGFloat)size color:(UIColor *)color { 14 | UILabel *label = UILabel.new; 15 | label.font = [UIFont systemFontOfSize:size]; 16 | label.textColor = color; 17 | label.textAlignment = NSTextAlignmentCenter; 18 | return label; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /QQHomePage/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | NSString * appDelegateClassName; 14 | @autoreleasepool { 15 | // Setup code that might create autoreleased objects goes here. 16 | appDelegateClassName = NSStringFromClass([AppDelegate class]); 17 | } 18 | return UIApplicationMain(argc, argv, nil, appDelegateClassName); 19 | } 20 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceLabel.h: -------------------------------------------------------------------------------- 1 | // 2 | // LHPerformanceLabel.h 3 | // 4 | // 5 | // Created by Leo on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LHPerformanceMonitorService.h" 11 | 12 | @interface LHPerformanceLabel : UILabel 13 | 14 | @property (assign, nonatomic)LHPerformanceLabelState state; 15 | 16 | - (void)setTextColor:(UIColor *)textColor forState:(LHPerformanceLabelState)state; 17 | 18 | - (UIColor *)textColorForState:(LHPerformanceLabelState)state; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /QQHomePage/View/UIView/NewSongView.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewSongView.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "NewSongView.h" 10 | 11 | @implementation NewSongView 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | self.layer.cornerRadius = 8; 16 | self.layer.masksToBounds = YES; 17 | } 18 | 19 | - (void)setImgV:(UIImageView *)imgV { 20 | _imgV = imgV; 21 | _imgV.layer.cornerRadius = 5; 22 | _imgV.layer.masksToBounds = YES; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/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 | #if !OS_OBJECT_USE_OBJC 16 | #error SDWebImage need ARC for dispatch object 17 | #endif 18 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceStatusBar.h: -------------------------------------------------------------------------------- 1 | // 2 | // LHPerformanceStatusBar.h 3 | // 4 | // 5 | // Created by Leo on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LHPerformanceLabel.h" 11 | 12 | @interface LHPerformanceStatusBar : UIView 13 | 14 | @property (strong, nonatomic) LHPerformanceLabel * fpsLabel; 15 | 16 | @property (strong, nonatomic) LHPerformanceLabel * memoryLabel; 17 | 18 | @property (strong, nonatomic) LHPerformanceLabel * cpuLabel; 19 | 20 | - (NSArray *)subLabels; 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/UIColor+HexString.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 | @interface UIColor (HexString) 12 | 13 | /** 14 | Convenience way to get hex string from color. The output should always be 32-bit RGBA hex string like `#00000000`. 15 | */ 16 | @property (nonatomic, copy, readonly, nonnull) NSString *sd_hexString; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceTypes.h: -------------------------------------------------------------------------------- 1 | // 2 | // LHPerformanceTypes.h 3 | // LHPerformanceStatusBar 4 | // 5 | // Created by huangwenchen on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef NS_ENUM(NSInteger,LHPerformanceLabelState){ 12 | LHPerformanceStateGood, 13 | LHPerformanceStateWarning, 14 | LHPerformanceStateBad, 15 | }; 16 | 17 | typedef NS_ENUM(NSInteger,LHPerformanceMonitorAttributes){ 18 | LHPerformanceMonitorMemory, 19 | LHPerformanceMonitorCPU, 20 | LHPerformanceMonitorFPS, 21 | }; 22 | -------------------------------------------------------------------------------- /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/SDWebImage/SDWebImage/Core/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 | /// A protocol represents cancelable operation. 12 | @protocol SDWebImageOperation 13 | 14 | - (void)cancel; 15 | 16 | @end 17 | 18 | /// NSOperation conform to `SDWebImageOperation`. 19 | @interface NSOperation (SDWebImageOperation) 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /QQHomePage/Lib/YYAsyncLayer/YYSentinel.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYSentinel.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/13. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYSentinel.h" 13 | #import 14 | 15 | @implementation YYSentinel { 16 | int32_t _value; 17 | } 18 | 19 | - (int32_t)value { 20 | return _value; 21 | } 22 | 23 | - (int32_t)increase { 24 | return OSAtomicIncrement32(&_value); 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/PageControl/TAAbstractDotView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TAAbstractDotView.h 3 | // TAPageControl 4 | // 5 | // Created by Tanguy Aladenise on 2015-01-22. 6 | // Copyright (c) 2015 Tanguy Aladenise. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface TAAbstractDotView : UIView 13 | 14 | 15 | /** 16 | * A method call let view know which state appearance it should take. Active meaning it's current page. Inactive not the current page. 17 | * 18 | * @param active BOOL to tell if view is active or not 19 | */ 20 | - (void)changeActivityState:(BOOL)active; 21 | 22 | 23 | @end 24 | 25 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.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 | /// Copy the associated object from source image to target image. The associated object including all the category read/write properties. 12 | /// @param source source 13 | /// @param target target 14 | FOUNDATION_EXPORT void SDImageCopyAssociatedObject(UIImage * _Nullable source, UIImage * _Nullable target); 15 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/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 "SDImageGIFCoder.h" 12 | 13 | @implementation UIImage (GIF) 14 | 15 | + (nullable UIImage *)sd_imageWithGIFData:(nullable NSData *)data { 16 | if (!data) { 17 | return nil; 18 | } 19 | return [[SDImageGIFCoder sharedCoder] decodedImageWithData:data options:0]; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /QQHomePage.xcodeproj/xcuserdata/cocos.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | QQHomePage.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 5 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | ED44E14C2418BEA80063AB7B 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /QQHomePage/View/BaseTableViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // BaseTableViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface BaseTableViewCell : UITableViewCell 14 | 15 | @property (weak, nonatomic) IBOutlet UICollectionView *collectionView; 16 | 17 | @property (nonatomic, strong) NSArray *listJson; 18 | 19 | @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 20 | 21 | - (void)updateItemSize:(CGSize)size; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.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 | #import "SDImageIOAnimatedCoder.h" 11 | 12 | /** 13 | Built in coder using ImageIO that supports APNG encoding/decoding 14 | */ 15 | @interface SDImageAPNGCoder : SDImageIOAnimatedCoder 16 | 17 | @property (nonatomic, class, readonly, nonnull) SDImageAPNGCoder *sharedCoder; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /QQHomePage/View/MVList/MVCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVCollectionViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AsyncImageView.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface MVCollectionViewCell : UICollectionViewCell 15 | 16 | @property (weak, nonatomic) IBOutlet AsyncImageView *imgV; 17 | @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 18 | 19 | 20 | @property (weak, nonatomic) IBOutlet AsyncImageView *iconV; 21 | @property (weak, nonatomic) IBOutlet UILabel *nameLabel; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.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 | #import "SDWebImageCompat.h" 11 | 12 | /// A weak proxy which forward all the message to the target 13 | @interface SDWeakProxy : NSProxy 14 | 15 | @property (nonatomic, weak, readonly, nullable) id target; 16 | 17 | - (nonnull instancetype)initWithTarget:(nonnull id)target; 18 | + (nonnull instancetype)proxyWithTarget:(nonnull id)target; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "LHPerformanceConfig.h" 14 | #import "LHPerformanceLabel.h" 15 | #import "LHPerformanceMonitorService.h" 16 | #import "LHPerformanceStatusBar.h" 17 | #import "LHPerformanceTypes.h" 18 | #import "LHPerformanceUtil.h" 19 | 20 | FOUNDATION_EXPORT double LHPerformanceStatusBarVersionNumber; 21 | FOUNDATION_EXPORT const unsigned char LHPerformanceStatusBarVersionString[]; 22 | 23 | -------------------------------------------------------------------------------- /QQHomePage/View/SongList/SongCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // SongCollectionViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AsyncImageView.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /// 用来显示具体单个歌单的UI 15 | @interface SongCollectionViewCell : UICollectionViewCell 16 | 17 | @property (weak, nonatomic) IBOutlet UIView *maskV; 18 | @property (weak, nonatomic) IBOutlet AsyncImageView *imgV; 19 | @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 20 | @property (weak, nonatomic) IBOutlet UILabel *listenNumLabel; 21 | 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.release.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /QQHomePage/View/AsyncImageView.h: -------------------------------------------------------------------------------- 1 | // 2 | // AsyncImageView.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/21. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface AsyncImageView : UIView 14 | 15 | // 设置图片的时候才会开始绘制 16 | @property (nonatomic, strong) NSURL *imageURL; 17 | @property (nonatomic, strong) UIImage *image; 18 | 19 | @property (nonatomic, assign) CGFloat asyncCornerRadius; 20 | 21 | 22 | // 绘制蒙版, 默认NO 23 | @property (nonatomic, assign) BOOL drawMask; 24 | 25 | // 蒙版颜色组, 为nil时, 默认绘制灰色渐变蒙版 26 | @property (nonatomic, strong) NSArray *maskColors; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /Pods/Target Support Files/CCEasyKVO/CCEasyKVO.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CCEasyKVO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CCEasyKVO" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CCEasyKVO" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/CCEasyKVO 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/CCEasyKVO/CCEasyKVO.release.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CCEasyKVO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CCEasyKVO" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CCEasyKVO" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/CCEasyKVO 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /QQHomePage/Model/TableViewSectionModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewSectionModel.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | 10 | #import "TableViewCellModel.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /// 包括了section的高度, footer, header的高度, 还有section里的cells 15 | @interface TableViewSectionModel : NSObject 16 | 17 | + (instancetype)sectionWithCells:(NSMutableArray *)cells; 18 | 19 | @property (nonatomic, assign) CGFloat footerHeight; 20 | @property (nonatomic, assign) CGFloat headerHeight; 21 | 22 | @property (nonatomic, strong) NSMutableArray *cells; 23 | 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.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 | #import "SDWebImageCompat.h" 11 | 12 | /// This is used for operation management, but not for operation queue execute 13 | @interface SDImageCachesManagerOperation : NSOperation 14 | 15 | @property (nonatomic, assign, readonly) NSUInteger pendingCount; 16 | 17 | - (void)beginWithTotalCount:(NSUInteger)totalCount; 18 | - (void)completeOne; 19 | - (void)done; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceMonitorService.h: -------------------------------------------------------------------------------- 1 | // 2 | // QTFPSMonitor.h 3 | // 4 | // 5 | // Created by Leo on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "LHPerformanceTypes.h" 12 | 13 | @class LHPerformanceConfig; 14 | /** 15 | Run this service will create a window above status to show FPS,CPU and Memory usage. 16 | */ 17 | @interface LHPerformanceMonitorService : NSObject 18 | 19 | + (void)run; 20 | 21 | + (void)stop; 22 | 23 | + (void)setTextColor:(UIColor *)textColor forState:(LHPerformanceLabelState)state; 24 | 25 | + (void)setConfig:(LHPerformanceConfig *)config forAttribte:(LHPerformanceMonitorAttributes)attribtue; 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/NSBezierPath+RoundedCorners.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 "UIImage+Transform.h" 14 | 15 | @interface NSBezierPath (RoundedCorners) 16 | 17 | /** 18 | Convenience way to create a bezier path with the specify rounding corners on macOS. Same as the one on `UIBezierPath`. 19 | */ 20 | + (nonnull instancetype)sd_bezierPathWithRoundedRect:(NSRect)rect byRoundingCorners:(SDRectCorner)corners cornerRadius:(CGFloat)cornerRadius; 21 | 22 | @end 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LHPerformanceStatusBar 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/LHPerformanceStatusBar" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LHPerformanceStatusBar" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/LHPerformanceStatusBar 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar.release.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LHPerformanceStatusBar 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/LHPerformanceStatusBar" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LHPerformanceStatusBar" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/LHPerformanceStatusBar 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /QQHomePage/Model/TableViewCellModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewCellModel.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | typedef void(^RefreshUI)(__kindof UITableViewCell *cell); 14 | 15 | /// 包括了Cell高度, 复用的identifier, 被点击时分配的方法名等cell必备信息 16 | @interface TableViewCellModel : NSObject 17 | 18 | @property (nonatomic, strong) NSString *reuseIdentifier; 19 | 20 | @property (nonatomic, assign) CGFloat height; 21 | 22 | @property (nonatomic, strong) NSString *selDidSelectedName; 23 | 24 | @property (nonatomic, copy) RefreshUI refreshBlock; 25 | 26 | + (instancetype)cellWithFreshUI:(RefreshUI)refreshBlock; 27 | 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - CCEasyKVO (0.1.0) 3 | - LHPerformanceStatusBar (0.1.0) 4 | - Masonry (1.1.0) 5 | - SDWebImage (5.6.1): 6 | - SDWebImage/Core (= 5.6.1) 7 | - SDWebImage/Core (5.6.1) 8 | 9 | DEPENDENCIES: 10 | - CCEasyKVO 11 | - LHPerformanceStatusBar 12 | - Masonry 13 | - SDWebImage 14 | 15 | SPEC REPOS: 16 | trunk: 17 | - CCEasyKVO 18 | - LHPerformanceStatusBar 19 | - Masonry 20 | - SDWebImage 21 | 22 | SPEC CHECKSUMS: 23 | CCEasyKVO: 1aae5d892be60f07b9e5a3591008a4bd3b07a93e 24 | LHPerformanceStatusBar: 068e2e40ccfac5be9c8ca2c1545daad92fb9b366 25 | Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 26 | SDWebImage: 7edb9c3ea661e77a66661f7f044de8c1b55d1120 27 | 28 | PODFILE CHECKSUM: 9deefeaa3df23c9b4d2d63a8943b191b743aff0c 29 | 30 | COCOAPODS: 1.9.0.beta.2 31 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage 2 | DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SDWebImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SDWebImage" 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 | SUPPORTS_MACCATALYST = YES 12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage.release.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage 2 | DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SDWebImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SDWebImage" 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 | SUPPORTS_MACCATALYST = YES 12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 13 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - CCEasyKVO (0.1.0) 3 | - LHPerformanceStatusBar (0.1.0) 4 | - Masonry (1.1.0) 5 | - SDWebImage (5.6.1): 6 | - SDWebImage/Core (= 5.6.1) 7 | - SDWebImage/Core (5.6.1) 8 | 9 | DEPENDENCIES: 10 | - CCEasyKVO 11 | - LHPerformanceStatusBar 12 | - Masonry 13 | - SDWebImage 14 | 15 | SPEC REPOS: 16 | trunk: 17 | - CCEasyKVO 18 | - LHPerformanceStatusBar 19 | - Masonry 20 | - SDWebImage 21 | 22 | SPEC CHECKSUMS: 23 | CCEasyKVO: 1aae5d892be60f07b9e5a3591008a4bd3b07a93e 24 | LHPerformanceStatusBar: 068e2e40ccfac5be9c8ca2c1545daad92fb9b366 25 | Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 26 | SDWebImage: 7edb9c3ea661e77a66661f7f044de8c1b55d1120 27 | 28 | PODFILE CHECKSUM: 9deefeaa3df23c9b4d2d63a8943b191b743aff0c 29 | 30 | COCOAPODS: 1.9.0.beta.2 31 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.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 "UIImage+ExtendedCacheData.h" 11 | #import 12 | 13 | @implementation UIImage (ExtendedCacheData) 14 | 15 | - (id)sd_extendedObject { 16 | return objc_getAssociatedObject(self, @selector(sd_extendedObject)); 17 | } 18 | 19 | - (void)setSd_extendedObject:(id)sd_extendedObject { 20 | objc_setAssociatedObject(self, @selector(sd_extendedObject), sd_extendedObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageFrame.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 "SDImageFrame.h" 10 | 11 | @interface SDImageFrame () 12 | 13 | @property (nonatomic, strong, readwrite, nonnull) UIImage *image; 14 | @property (nonatomic, readwrite, assign) NSTimeInterval duration; 15 | 16 | @end 17 | 18 | @implementation SDImageFrame 19 | 20 | + (instancetype)frameWithImage:(UIImage *)image duration:(NSTimeInterval)duration { 21 | SDImageFrame *frame = [[SDImageFrame alloc] init]; 22 | frame.image = image; 23 | frame.duration = duration; 24 | 25 | return frame; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDImageIOAnimatedCoderInternal.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 | #import "SDImageIOAnimatedCoder.h" 11 | 12 | @interface SDImageIOAnimatedCoder () 13 | 14 | + (NSTimeInterval)frameDurationAtIndex:(NSUInteger)index source:(nonnull CGImageSourceRef)source; 15 | + (NSUInteger)imageLoopCountWithSource:(nonnull CGImageSourceRef)source; 16 | + (nullable UIImage *)createFrameAtIndex:(NSUInteger)index source:(nonnull CGImageSourceRef)source scale:(CGFloat)scale preserveAspectRatio:(BOOL)preserveAspectRatio thumbnailSize:(CGSize)thumbnailSize; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /QQHomePage/Lib/YYAsyncLayer/YYSentinel.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYSentinel.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/13. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | YYSentinel is a thread safe incrementing counter. 18 | It may be used in some multi-threaded situation. 19 | */ 20 | @interface YYSentinel : NSObject 21 | 22 | /// Returns the current value of the counter. 23 | @property (readonly) int32_t value; 24 | 25 | /// Increase the value atomically. 26 | /// @return The new value. 27 | - (int32_t)increase; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDAsyncBlockOperation.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 | @class SDAsyncBlockOperation; 12 | typedef void (^SDAsyncBlock)(SDAsyncBlockOperation * __nonnull asyncOperation); 13 | 14 | /// A async block operation, success after you call `completer` (not like `NSBlockOperation` which is for sync block, success on return) 15 | @interface SDAsyncBlockOperation : NSOperation 16 | 17 | - (nonnull instancetype)initWithBlock:(nonnull SDAsyncBlock)block; 18 | + (nonnull instancetype)blockOperationWithBlock:(nonnull SDAsyncBlock)block; 19 | - (void)complete; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /QQHomePage/View/VipVIew/VIP1CollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // VIP1CollectionViewCell.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/17. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AsyncImageView.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /// cell内部固定三个图片和标题, 作为Demo这里简单作为属性设置即可, 不考虑复用扩展! 15 | @interface VIP1CollectionViewCell : UICollectionViewCell 16 | 17 | @property (nonatomic, strong) NSArray *videoArry; 18 | 19 | @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 20 | 21 | @property (strong, nonatomic) IBOutletCollection(AsyncImageView) NSArray *imgViewArr; 22 | 23 | @property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *itemsTitleArr; 24 | 25 | /// 覆盖整个视图的背景图片 26 | @property (weak, nonatomic) IBOutlet AsyncImageView *bigImgView; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /Pods/CCEasyKVO/CCEasyKVO/Classes/NSObject+CCEasyKVO.h: -------------------------------------------------------------------------------- 1 | // 2 | // CCEasyKVO.h 3 | // OCSimpleView 4 | // 5 | // Created by Cocos on 2019/7/3. 6 | // Copyright © 2019 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | 14 | /** 15 | @abstract 回调函数 16 | @param object 状态发生变化的对象(被观察者) 17 | @param change 发生变化的信息 18 | */ 19 | 20 | typedef void (^CC_EasyBlock)(id object, NSDictionary *change); 21 | 22 | @interface NSObject (CCEasyKVO) 23 | 24 | 25 | /** 26 | 简易KVO 27 | 28 | @param observe 被观察者 29 | @param keyPath key 30 | @param options options 31 | @param block 回调函数 32 | */ 33 | - (void)cc_easyObserve:(id)observe forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options block:(CC_EasyBlock) block; 34 | 35 | - (void)cc_easyRemoveAllKVO; 36 | 37 | @end 38 | 39 | NS_ASSUME_NONNULL_END 40 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/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 | /** 13 | This category is just use as a convenience method. For more detail control, use methods in `UIImage+MultiFormat.h` or directlly use `SDImageCoder`. 14 | */ 15 | @interface UIImage (GIF) 16 | 17 | /** 18 | Creates an animated UIImage from an NSData. 19 | This will create animated image if the data is Animated GIF. And will create a static image is the data is Static GIF. 20 | 21 | @param data The GIF data 22 | @return The created image 23 | */ 24 | + (nullable UIImage *)sd_imageWithGIFData:(nullable NSData *)data; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // LHPerformanceConfig.h 3 | // LHPerformanceStatusBar 4 | // 5 | // Created by huangwenchen on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "LHPerformanceTypes.h" 12 | 13 | @interface LHPerformanceConfig : NSObject 14 | 15 | @property (assign,nonatomic)CGFloat goodThreshold; 16 | 17 | @property (assign,nonatomic)CGFloat warningThreadhold; 18 | 19 | 20 | /** 21 | Default is NO. So,if value is greater than goodThreshold,then it is good.Just like FPS,the higher,the better. 22 | */ 23 | @property (assign,nonatomic)BOOL lessIsBetter; 24 | 25 | + (instancetype)defaultConfigForAttribtue:(LHPerformanceMonitorAttributes)attribute; 26 | 27 | + (instancetype)configWithGood:(CGFloat)good warning:(CGFloat)warning lessIsBetter:(BOOL)lessIsBetter; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /QQHomePage/View/BaseTableViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // BaseTableViewCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "BaseTableViewCell.h" 10 | 11 | @implementation BaseTableViewCell 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | // Initialization code 16 | } 17 | 18 | - (void)updateItemSize:(CGSize)size { 19 | UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout; 20 | layout.itemSize = size; 21 | } 22 | 23 | #pragma mark - UICollectionViewDelegate, UICollectionViewDataSource 24 | - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 25 | return self.listJson.count; 26 | } 27 | 28 | - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 29 | return 1; 30 | } 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDImageHEICCoderInternal.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 | #import "SDImageHEICCoder.h" 11 | 12 | // AVFileTypeHEIC/AVFileTypeHEIF is defined in AVFoundation via iOS 11, we use this without import AVFoundation 13 | #define kSDUTTypeHEIC ((__bridge CFStringRef)@"public.heic") 14 | #define kSDUTTypeHEIF ((__bridge CFStringRef)@"public.heif") 15 | // HEIC Sequence (Animated Image) 16 | #define kSDUTTypeHEICS ((__bridge CFStringRef)@"public.heics") 17 | 18 | @interface SDImageHEICCoder () 19 | 20 | + (BOOL)canDecodeFromHEICFormat; 21 | + (BOOL)canDecodeFromHEIFFormat; 22 | + (BOOL)canEncodeToHEICFormat; 23 | + (BOOL)canEncodeToHEIFFormat; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /QQHomePage/View/TopicView/TopicWalterfallFlowLayout.h: -------------------------------------------------------------------------------- 1 | // 2 | // TopicWalterfallFlowLayout.h 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @protocol TopicWalterfallFlowLayoutDataSource 14 | 15 | /// 数据源需要实现该方法, 提供每一个item的宽度 16 | - (CGFloat)topicWalterFallItemContentWidthAtIndexPath:(NSIndexPath *)indexPath; 17 | 18 | /// 提供行数 19 | - (NSInteger)topicWalterFallItemRowNumber; 20 | 21 | @end 22 | 23 | /// 支持topic界面的横向流式布局 24 | @interface TopicWalterfallFlowLayout : UICollectionViewFlowLayout 25 | 26 | @property (nonatomic, weak) id dataSource; 27 | 28 | /// 行间距 29 | @property (nonatomic, assign) CGFloat lineDistance; 30 | 31 | /// 元素横向间距 32 | @property (nonatomic, assign) CGFloat itemDistance; 33 | 34 | @end 35 | 36 | NS_ASSUME_NONNULL_END 37 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/cocos.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CCEasyKVO.xcscheme 8 | 9 | isShown 10 | 11 | 12 | LHPerformanceStatusBar.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Masonry.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Pods-QQHomePage.xcscheme 23 | 24 | isShown 25 | 26 | 27 | SDWebImage.xcscheme 28 | 29 | isShown 30 | 31 | 32 | 33 | SuppressBuildableAutocreation 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageCoder.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 "SDImageCoder.h" 10 | 11 | SDImageCoderOption const SDImageCoderDecodeFirstFrameOnly = @"decodeFirstFrameOnly"; 12 | SDImageCoderOption const SDImageCoderDecodeScaleFactor = @"decodeScaleFactor"; 13 | SDImageCoderOption const SDImageCoderDecodePreserveAspectRatio = @"decodePreserveAspectRatio"; 14 | SDImageCoderOption const SDImageCoderDecodeThumbnailPixelSize = @"decodeThumbnailPixelSize"; 15 | 16 | SDImageCoderOption const SDImageCoderEncodeFirstFrameOnly = @"encodeFirstFrameOnly"; 17 | SDImageCoderOption const SDImageCoderEncodeCompressionQuality = @"encodeCompressionQuality"; 18 | 19 | SDImageCoderOption const SDImageCoderWebImageContext = @"webImageContext"; 20 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "MASCompositeConstraint.h" 14 | #import "MASConstraint+Private.h" 15 | #import "MASConstraint.h" 16 | #import "MASConstraintMaker.h" 17 | #import "MASLayoutConstraint.h" 18 | #import "Masonry.h" 19 | #import "MASUtilities.h" 20 | #import "MASViewAttribute.h" 21 | #import "MASViewConstraint.h" 22 | #import "NSArray+MASAdditions.h" 23 | #import "NSArray+MASShorthandAdditions.h" 24 | #import "NSLayoutConstraint+MASDebugAdditions.h" 25 | #import "View+MASAdditions.h" 26 | #import "View+MASShorthandAdditions.h" 27 | #import "ViewController+MASAdditions.h" 28 | 29 | FOUNDATION_EXPORT double MasonryVersionNumber; 30 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; 31 | 32 | -------------------------------------------------------------------------------- /Pods/Target Support Files/CCEasyKVO/CCEasyKVO-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/LHPerformanceStatusBar/LHPerformanceStatusBar-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CCEasyKVO" "${PODS_ROOT}/Headers/Public/LHPerformanceStatusBar" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CCEasyKVO" "${PODS_CONFIGURATION_BUILD_DIR}/LHPerformanceStatusBar" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"CCEasyKVO" -l"LHPerformanceStatusBar" -l"Masonry" -l"SDWebImage" -framework "Foundation" -framework "ImageIO" -framework "UIKit" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-QQHomePage/Pods-QQHomePage.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CCEasyKVO" "${PODS_ROOT}/Headers/Public/LHPerformanceStatusBar" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CCEasyKVO" "${PODS_CONFIGURATION_BUILD_DIR}/LHPerformanceStatusBar" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"CCEasyKVO" -l"LHPerformanceStatusBar" -l"Masonry" -l"SDWebImage" -framework "Foundation" -framework "ImageIO" -framework "UIKit" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 10 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/PageControl/TAAbstractDotView.m: -------------------------------------------------------------------------------- 1 | // 2 | // TAAbstractDotView.m 3 | // TAPageControl 4 | // 5 | // Created by Tanguy Aladenise on 2015-01-22. 6 | // Copyright (c) 2015 Tanguy Aladenise. All rights reserved. 7 | // 8 | 9 | #import "TAAbstractDotView.h" 10 | 11 | 12 | @implementation TAAbstractDotView 13 | 14 | 15 | - (id)init 16 | { 17 | @throw [NSException exceptionWithName:NSInternalInconsistencyException 18 | reason:[NSString stringWithFormat:@"You must override %@ in %@", NSStringFromSelector(_cmd), self.class] 19 | userInfo:nil]; 20 | } 21 | 22 | 23 | - (void)changeActivityState:(BOOL)active 24 | { 25 | @throw [NSException exceptionWithName:NSInternalInconsistencyException 26 | reason:[NSString stringWithFormat:@"You must override %@ in %@", NSStringFromSelector(_cmd), self.class] 27 | userInfo:nil]; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.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 "SDAssociatedObject.h" 10 | #import "UIImage+Metadata.h" 11 | #import "UIImage+ExtendedCacheData.h" 12 | #import "UIImage+MemoryCacheCost.h" 13 | #import "UIImage+ForceDecode.h" 14 | 15 | void SDImageCopyAssociatedObject(UIImage * _Nullable source, UIImage * _Nullable target) { 16 | if (!source || !target) { 17 | return; 18 | } 19 | // Image Metadata 20 | target.sd_isIncremental = source.sd_isIncremental; 21 | target.sd_imageLoopCount = source.sd_imageLoopCount; 22 | target.sd_imageFormat = source.sd_imageFormat; 23 | // Force Decode 24 | target.sd_isDecoded = source.sd_isDecoded; 25 | // Extended Cache Data 26 | target.sd_extendedObject = source.sd_extendedObject; 27 | } 28 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.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 "SDDeviceHelper.h" 10 | #import 11 | 12 | @implementation SDDeviceHelper 13 | 14 | + (NSUInteger)totalMemory { 15 | return (NSUInteger)[[NSProcessInfo processInfo] physicalMemory]; 16 | } 17 | 18 | + (NSUInteger)freeMemory { 19 | mach_port_t host_port = mach_host_self(); 20 | mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t); 21 | vm_size_t page_size; 22 | vm_statistics_data_t vm_stat; 23 | kern_return_t kern; 24 | 25 | kern = host_page_size(host_port, &page_size); 26 | if (kern != KERN_SUCCESS) return 0; 27 | kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size); 28 | if (kern != KERN_SUCCESS) return 0; 29 | return vm_stat.free_count * page_size; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /QQHomePage/View/TopicView/AsyncTopicView.m: -------------------------------------------------------------------------------- 1 | // 2 | // AsyncTopicView.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/18. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "AsyncTopicView.h" 10 | #import "YYAsyncLayer.h" 11 | 12 | @implementation AsyncTopicView 13 | 14 | + (Class)layerClass { 15 | return YYAsyncLayer.class; 16 | } 17 | 18 | - (void)layoutSubviews { 19 | [self.layer setNeedsDisplay]; 20 | } 21 | 22 | - (YYAsyncLayerDisplayTask *)newAsyncDisplayTask { 23 | 24 | YYAsyncLayerDisplayTask *task = [YYAsyncLayerDisplayTask new]; 25 | task.willDisplay = ^(CALayer *layer) { 26 | 27 | }; 28 | 29 | task.display = ^(CGContextRef context, CGSize size, BOOL(^isCancelled)(void)) { 30 | if (isCancelled()) return; 31 | NSLog(@"开始显示"); 32 | }; 33 | 34 | task.didDisplay = ^(CALayer *layer, BOOL finished) { 35 | if (finished) { 36 | // finished 37 | } else { 38 | // cancelled 39 | } 40 | }; 41 | 42 | return task; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /QQHomePage/Data/JsonLoader.m: -------------------------------------------------------------------------------- 1 | // 2 | // JsonLoader.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "JsonLoader.h" 10 | 11 | @implementation JsonLoader 12 | 13 | 14 | - (instancetype)init { 15 | self = [super init]; 16 | if (self) { 17 | self.baseUrl = [NSBundle.mainBundle resourcePath]; 18 | } 19 | return self; 20 | } 21 | 22 | + (instancetype)shareLoader { 23 | static dispatch_once_t onceToken; 24 | static JsonLoader* loader; 25 | dispatch_once(&onceToken, ^{ 26 | loader = JsonLoader.new; 27 | }); 28 | return loader; 29 | } 30 | 31 | + (NSArray *)jsonObjsWithFileName:(NSString *)name { 32 | NSString *path = [JsonLoader.shareLoader.baseUrl stringByAppendingPathComponent:name]; 33 | NSData *data = [NSData dataWithContentsOfFile:path]; 34 | NSError *err; 35 | NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:&err]; 36 | if (err) { 37 | NSLog(@"%@", err); 38 | } 39 | return dic[@"data"][@"list"]; 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/CCEasyKVO/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 cocos543 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheKeyFilter.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 "SDWebImageCacheKeyFilter.h" 10 | 11 | @interface SDWebImageCacheKeyFilter () 12 | 13 | @property (nonatomic, copy, nonnull) SDWebImageCacheKeyFilterBlock block; 14 | 15 | @end 16 | 17 | @implementation SDWebImageCacheKeyFilter 18 | 19 | - (instancetype)initWithBlock:(SDWebImageCacheKeyFilterBlock)block { 20 | self = [super init]; 21 | if (self) { 22 | self.block = block; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)cacheKeyFilterWithBlock:(SDWebImageCacheKeyFilterBlock)block { 28 | SDWebImageCacheKeyFilter *cacheKeyFilter = [[SDWebImageCacheKeyFilter alloc] initWithBlock:block]; 29 | return cacheKeyFilter; 30 | } 31 | 32 | - (NSString *)cacheKeyForURL:(NSURL *)url { 33 | if (!self.block) { 34 | return nil; 35 | } 36 | return self.block(url); 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /QQHomePage/Resource/UIColor+CCUtility.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+CCUtility.m 3 | // CCTrendCharts 4 | // 5 | // Created by Cocos on 2019/9/5. 6 | // Copyright © 2019 Cocos. All rights reserved. 7 | // 8 | 9 | #import "UIColor+CCUtility.h" 10 | 11 | @implementation UIColor (CCUtility) 12 | 13 | + (UIColor *)cc_stringToColor:(NSString *)str opacity:(CGFloat)opacity { 14 | if (!str || [str isEqualToString:@""]) { 15 | return nil; 16 | } 17 | 18 | if (![str hasPrefix:@"#"]) { 19 | NSLog(@"%@ is not beging with #",str); 20 | } 21 | 22 | unsigned red,green,blue; 23 | NSRange range; 24 | range.length = 2; 25 | range.location = 1; 26 | [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&red]; 27 | range.location = 3; 28 | [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&green]; 29 | range.location = 5; 30 | [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&blue]; 31 | UIColor *color= [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:opacity]; 32 | return color; 33 | } 34 | 35 | 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Leo 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /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/SDWebImage/Private/SDDisplayLink.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 | #import "SDWebImageCompat.h" 11 | 12 | /// Cross-platform display link wrapper. Do not retain the target 13 | /// Use `CADisplayLink` on iOS/tvOS, `CVDisplayLink` on macOS, `NSTimer` on watchOS 14 | @interface SDDisplayLink : NSObject 15 | 16 | @property (readonly, nonatomic, weak, nullable) id target; 17 | @property (readonly, nonatomic, assign, nonnull) SEL selector; 18 | @property (readonly, nonatomic) CFTimeInterval duration; 19 | @property (readonly, nonatomic) BOOL isRunning; 20 | 21 | + (nonnull instancetype)displayLinkWithTarget:(nonnull id)target selector:(nonnull SEL)sel; 22 | 23 | - (void)addToRunLoop:(nonnull NSRunLoop *)runloop forMode:(nonnull NSRunLoopMode)mode; 24 | - (void)removeFromRunLoop:(nonnull NSRunLoop *)runloop forMode:(nonnull NSRunLoopMode)mode; 25 | 26 | - (void)start; 27 | - (void)stop; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/SDWebImage/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2018 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 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.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 | #import "SDImageIOAnimatedCoder.h" 11 | 12 | /** 13 | Built in coder using ImageIO that supports animated GIF encoding/decoding 14 | @note `SDImageIOCoder` supports GIF but only as static (will use the 1st frame). 15 | @note Use `SDImageGIFCoder` for fully animated GIFs. For `UIImageView`, it will produce animated `UIImage`(`NSImage` on macOS) for rendering. For `SDAnimatedImageView`, it will use `SDAnimatedImage` for rendering. 16 | @note The recommended approach for animated GIFs is using `SDAnimatedImage` with `SDAnimatedImageView`. It's more performant than `UIImageView` for GIF displaying(especially on memory usage) 17 | */ 18 | @interface SDImageGIFCoder : SDImageIOAnimatedCoder 19 | 20 | @property (nonatomic, class, readonly, nonnull) SDImageGIFCoder *sharedCoder; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDImageAssetManager.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 | #import "SDWebImageCompat.h" 11 | 12 | /// A Image-Asset manager to work like UIKit/AppKit's image cache behavior 13 | /// Apple parse the Asset Catalog compiled file(`Assets.car`) by CoreUI.framework, however it's a private framework and there are no other ways to directly get the data. So we just process the normal bundle files :) 14 | @interface SDImageAssetManager : NSObject 15 | 16 | @property (nonatomic, strong, nonnull) NSMapTable *imageTable; 17 | 18 | + (nonnull instancetype)sharedAssetManager; 19 | - (nullable NSString *)getPathForName:(nonnull NSString *)name bundle:(nonnull NSBundle *)bundle preferredScale:(nonnull CGFloat *)scale; 20 | - (nullable UIImage *)imageForName:(nonnull NSString *)name; 21 | - (void)storeImage:(nonnull UIImage *)image forName:(nonnull NSString *)name; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceConfig.m: -------------------------------------------------------------------------------- 1 | // 2 | // LHPerformanceConfig.m 3 | // LHPerformanceStatusBar 4 | // 5 | // Created by huangwenchen on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import "LHPerformanceConfig.h" 10 | 11 | @implementation LHPerformanceConfig 12 | 13 | + (instancetype)defaultConfigForAttribtue:(LHPerformanceMonitorAttributes)attribute{ 14 | if (attribute == LHPerformanceMonitorMemory) { 15 | return [self configWithGood:150.0 warning:200.0 lessIsBetter:YES]; 16 | } 17 | if (attribute == LHPerformanceMonitorFPS) { 18 | return [self configWithGood:55.0 warning:40.0 lessIsBetter:NO]; 19 | } 20 | if (attribute == LHPerformanceMonitorCPU) { 21 | return [self configWithGood:70.0 warning:90.0 lessIsBetter:YES];; 22 | } 23 | return nil; 24 | } 25 | + (instancetype)configWithGood:(CGFloat)good warning:(CGFloat)warning lessIsBetter:(BOOL)lessIsBetter{ 26 | LHPerformanceConfig * config = [[LHPerformanceConfig alloc] init]; 27 | config.lessIsBetter = lessIsBetter; 28 | config.goodThreshold = good; 29 | config.warningThreadhold = warning; 30 | return config; 31 | } 32 | @end 33 | -------------------------------------------------------------------------------- /QQHomePage/View/TopicView/TopicCollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // TopicCollectionViewCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/12. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "TopicCollectionViewCell.h" 10 | #import "AsyncTopicView.h" 11 | 12 | @interface TopicCollectionViewCell () 13 | 14 | @property (nonatomic, strong) AsyncTopicView *topicView; 15 | 16 | @end 17 | 18 | @implementation TopicCollectionViewCell 19 | 20 | - (instancetype)initWithFrame:(CGRect)frame { 21 | self = [super initWithFrame:frame]; 22 | if (self) { 23 | self.backgroundColor = [UIColor cc_stringToColor:@"#F1F2F3" opacity:1]; 24 | self.layer.cornerRadius = 12.5; 25 | 26 | [self.contentView addSubview:self.titleLabel]; 27 | [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { 28 | make.edges.equalTo(self.contentView); 29 | }]; 30 | 31 | } 32 | return self; 33 | } 34 | 35 | - (UILabel *)titleLabel { 36 | if (!_titleLabel) { 37 | _titleLabel = [UILabel labelWithFontSize:13 color:[UIColor cc_stringToColor:@"#444444" opacity:1]]; 38 | } 39 | return _titleLabel; 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /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/Core/SDWebImageCacheKeyFilter.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 | #import "SDWebImageCompat.h" 11 | 12 | typedef NSString * _Nullable(^SDWebImageCacheKeyFilterBlock)(NSURL * _Nonnull url); 13 | 14 | /** 15 | This is the protocol for cache key filter. 16 | We can use a block to specify the cache key filter. But Using protocol can make this extensible, and allow Swift user to use it easily instead of using `@convention(block)` to store a block into context options. 17 | */ 18 | @protocol SDWebImageCacheKeyFilter 19 | 20 | - (nullable NSString *)cacheKeyForURL:(nonnull NSURL *)url; 21 | 22 | @end 23 | 24 | /** 25 | A cache key filter class with block. 26 | */ 27 | @interface SDWebImageCacheKeyFilter : NSObject 28 | 29 | - (nonnull instancetype)initWithBlock:(nonnull SDWebImageCacheKeyFilterBlock)block; 30 | + (nonnull instancetype)cacheKeyFilterWithBlock:(nonnull SDWebImageCacheKeyFilterBlock)block; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.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 "SDWebImageCacheSerializer.h" 10 | 11 | @interface SDWebImageCacheSerializer () 12 | 13 | @property (nonatomic, copy, nonnull) SDWebImageCacheSerializerBlock block; 14 | 15 | @end 16 | 17 | @implementation SDWebImageCacheSerializer 18 | 19 | - (instancetype)initWithBlock:(SDWebImageCacheSerializerBlock)block { 20 | self = [super init]; 21 | if (self) { 22 | self.block = block; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)cacheSerializerWithBlock:(SDWebImageCacheSerializerBlock)block { 28 | SDWebImageCacheSerializer *cacheSerializer = [[SDWebImageCacheSerializer alloc] initWithBlock:block]; 29 | return cacheSerializer; 30 | } 31 | 32 | - (NSData *)cacheDataWithImage:(UIImage *)image originalData:(NSData *)data imageURL:(nullable NSURL *)imageURL { 33 | if (!self.block) { 34 | return nil; 35 | } 36 | return self.block(image, data, imageURL); 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /QQHomePage/View/SongList/SongListCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // SongListCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "SongListCell.h" 10 | #import "SongCollectionViewCell.h" 11 | #import "UIImageView+WebCache.h" 12 | 13 | @interface SongListCell() 14 | 15 | @end 16 | 17 | @implementation SongListCell 18 | 19 | - (void)awakeFromNib { 20 | [super awakeFromNib]; 21 | // Initialization code 22 | [self.collectionView registerNib:[UINib nibWithNibName:@"SongCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"Cell"]; 23 | } 24 | 25 | #pragma mark - UICollectionViewDelegate, UICollectionViewDataSource 26 | 27 | - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 28 | SongCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; 29 | NSDictionary *dic = self.listJson[indexPath.item]; 30 | 31 | [cell.imgV setImageURL:[NSURL URLWithString:dic[@"imgurl"]]]; 32 | cell.imgV.asyncCornerRadius = 10.f; 33 | cell.titleLabel.text = dic[@"dissname"]; 34 | cell.imgV.drawMask = YES; 35 | return cell; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | LHPerformanceStatusBar 4 |

5 | 6 | [![Version](https://img.shields.io/cocoapods/v/LHPerformanceStatusBar.svg?style=flat)](http://cocoapods.org/pods/LHPerformanceStatusBar) [![Platform](http://img.shields.io/badge/platform-ios-blue.svg?style=flat 7 | )](https://developer.apple.com/iphone/index.action) 8 | [![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat 9 | )](http://mit-license.org) 10 | 11 | # LHPerformanceStatusBar 12 | 13 | Replace statusbar with a new bar to show realtime performance 14 | 15 | - FPS 16 | - CPU 17 | - Memory 18 | 19 | 20 | ## Install 21 | 22 | Cocoapod 23 | 24 | ``` 25 | pod LHPerformanceStatusBar 26 | ``` 27 | 28 | ## Usage 29 | In `viewDidAppear` or somewhere where the keyWindow is loaded 30 | 31 | ``` 32 | - (void)viewDidAppear:(BOOL)animated{ 33 | [super viewDidAppear:animated]; 34 | [LHPerformanceMonitorService run]; 35 | } 36 | ``` 37 | ## Author 38 | 39 | Leo, leomobiledeveloper 40 | 41 | ## License 42 | 43 | LHPerformanceStatusBar is available under the MIT license. See the LICENSE file for more info. 44 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.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 "SDWebImageDownloaderRequestModifier.h" 10 | 11 | @interface SDWebImageDownloaderRequestModifier () 12 | 13 | @property (nonatomic, copy, nonnull) SDWebImageDownloaderRequestModifierBlock block; 14 | 15 | @end 16 | 17 | @implementation SDWebImageDownloaderRequestModifier 18 | 19 | - (instancetype)initWithBlock:(SDWebImageDownloaderRequestModifierBlock)block { 20 | self = [super init]; 21 | if (self) { 22 | self.block = block; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)requestModifierWithBlock:(SDWebImageDownloaderRequestModifierBlock)block { 28 | SDWebImageDownloaderRequestModifier *requestModifier = [[SDWebImageDownloaderRequestModifier alloc] initWithBlock:block]; 29 | return requestModifier; 30 | } 31 | 32 | - (NSURLRequest *)modifiedRequestWithRequest:(NSURLRequest *)request { 33 | if (!self.block) { 34 | return nil; 35 | } 36 | return self.block(request); 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDFileAttributeHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // This file is from https://gist.github.com/zydeco/6292773 3 | // 4 | // Created by Jesús A. Álvarez on 2008-12-17. 5 | // Copyright 2008-2009 namedfork.net. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | /// File Extended Attribute (xattr) helper methods 11 | @interface SDFileAttributeHelper : NSObject 12 | 13 | + (nullable NSArray *)extendedAttributeNamesAtPath:(nonnull NSString *)path traverseLink:(BOOL)follow error:(NSError * _Nullable * _Nullable)err; 14 | + (BOOL)hasExtendedAttribute:(nonnull NSString *)name atPath:(nonnull NSString *)path traverseLink:(BOOL)follow error:(NSError * _Nullable * _Nullable)err; 15 | + (nullable NSData *)extendedAttribute:(nonnull NSString *)name atPath:(nonnull NSString *)path traverseLink:(BOOL)follow error:(NSError * _Nullable * _Nullable)err; 16 | + (BOOL)setExtendedAttribute:(nonnull NSString *)name value:(nonnull NSData *)value atPath:(nonnull NSString *)path traverseLink:(BOOL)follow overwrite:(BOOL)overwrite error:(NSError * _Nullable * _Nullable)err; 17 | + (BOOL)removeExtendedAttribute:(nonnull NSString *)name atPath:(nonnull NSString *)path traverseLink:(BOOL)follow error:(NSError * _Nullable * _Nullable)err; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageHEICCoder.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 | #import "SDImageIOAnimatedCoder.h" 11 | 12 | /** 13 | This coder is used for HEIC (HEIF with HEVC container codec) image format. 14 | Image/IO provide the static HEIC (.heic) support in iOS 11/macOS 10.13/tvOS 11/watchOS 4+. 15 | Image/IO provide the animated HEIC (.heics) support in iOS 13/macOS 10.15/tvOS 13/watchOS 6+. 16 | See https://nokiatech.github.io/heif/technical.html for the standard. 17 | @note This coder is not in the default coder list for now, since HEIC animated image is really rare, and Apple's implementation still contains performance issues. You can enable if you need this. 18 | @note If you need to support lower firmware version for HEIF, you can have a try at https://github.com/SDWebImage/SDWebImageHEIFCoder 19 | */ 20 | @interface SDImageHEICCoder : SDImageIOAnimatedCoder 21 | 22 | @property (nonatomic, class, readonly, nonnull) SDImageHEICCoder *sharedCoder; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/UIColor+HexString.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 "UIColor+HexString.h" 10 | 11 | @implementation UIColor (HexString) 12 | 13 | - (NSString *)sd_hexString { 14 | CGFloat red, green, blue, alpha; 15 | #if SD_UIKIT 16 | if (![self getRed:&red green:&green blue:&blue alpha:&alpha]) { 17 | [self getWhite:&red alpha:&alpha]; 18 | green = red; 19 | blue = red; 20 | } 21 | #else 22 | @try { 23 | [self getRed:&red green:&green blue:&blue alpha:&alpha]; 24 | } 25 | @catch (NSException *exception) { 26 | [self getWhite:&red alpha:&alpha]; 27 | green = red; 28 | blue = red; 29 | } 30 | #endif 31 | 32 | red = roundf(red * 255.f); 33 | green = roundf(green * 255.f); 34 | blue = roundf(blue * 255.f); 35 | alpha = roundf(alpha * 255.f); 36 | 37 | uint hex = ((uint)alpha << 24) | ((uint)red << 16) | ((uint)green << 8) | ((uint)blue); 38 | 39 | return [NSString stringWithFormat:@"#%08x", hex]; 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.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 | 10 | #import "SDWebImageDownloaderResponseModifier.h" 11 | 12 | @interface SDWebImageDownloaderResponseModifier () 13 | 14 | @property (nonatomic, copy, nonnull) SDWebImageDownloaderResponseModifierBlock block; 15 | 16 | @end 17 | 18 | @implementation SDWebImageDownloaderResponseModifier 19 | 20 | - (instancetype)initWithBlock:(SDWebImageDownloaderResponseModifierBlock)block { 21 | self = [super init]; 22 | if (self) { 23 | self.block = block; 24 | } 25 | return self; 26 | } 27 | 28 | + (instancetype)responseModifierWithBlock:(SDWebImageDownloaderResponseModifierBlock)block { 29 | SDWebImageDownloaderResponseModifier *responseModifier = [[SDWebImageDownloaderResponseModifier alloc] initWithBlock:block]; 30 | return responseModifier; 31 | } 32 | 33 | - (nullable NSURLResponse *)modifiedResponseWithResponse:(nonnull NSURLResponse *)response { 34 | if (!self.block) { 35 | return nil; 36 | } 37 | return self.block(response); 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDAnimatedImageRep.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 | /** 14 | A subclass of `NSBitmapImageRep` to fix that GIF duration issue because `NSBitmapImageRep` will reset `NSImageCurrentFrameDuration` by using `kCGImagePropertyGIFDelayTime` but not `kCGImagePropertyGIFUnclampedDelayTime`. 15 | This also fix the GIF loop count issue, which will use the Netscape standard (See http://www6.uniovi.es/gifanim/gifabout.htm) to only place once when the `kCGImagePropertyGIFLoopCount` is nil. This is what modern browser's behavior. 16 | Built in GIF coder use this instead of `NSBitmapImageRep` for better GIF rendering. If you do not want this, only enable `SDImageIOCoder`, which just call `NSImage` API and actually use `NSBitmapImageRep` for GIF image. 17 | This also support APNG format using `SDImageAPNGCoder`. Which provide full alpha-channel support and the correct duration match the `kCGImagePropertyAPNGUnclampedDelayTime`. 18 | */ 19 | @interface SDAnimatedImageRep : NSBitmapImageRep 20 | 21 | @end 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /QQHomePage/Lib/YYAsyncLayer/YYTransaction.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTransaction.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/18. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | YYTransaction let you perform a selector once before current runloop sleep. 18 | */ 19 | @interface YYTransaction : NSObject 20 | 21 | /** 22 | Creates and returns a transaction with a specified target and selector. 23 | 24 | @param target A specified target, the target is retained until runloop end. 25 | @param selector A selector for target. 26 | 27 | @return A new transaction, or nil if an error occurs. 28 | */ 29 | + (YYTransaction *)transactionWithTarget:(id)target selector:(SEL)selector; 30 | 31 | /** 32 | Commit the trancaction to main runloop. 33 | 34 | @discussion It will perform the selector on the target once before main runloop's 35 | current loop sleep. If the same transaction (same target and same selector) has 36 | already commit to runloop in this loop, this method do nothing. 37 | */ 38 | - (void)commit; 39 | 40 | @end 41 | 42 | NS_ASSUME_NONNULL_END 43 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageLoadersManager.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 "SDImageLoader.h" 10 | 11 | /** 12 | A loaders manager to manage multiple loaders 13 | */ 14 | @interface SDImageLoadersManager : NSObject 15 | 16 | /** 17 | Returns the global shared loaders manager instance. By default we will set [`SDWebImageDownloader.sharedDownloader`] into the loaders array. 18 | */ 19 | @property (nonatomic, class, readonly, nonnull) SDImageLoadersManager *sharedManager; 20 | 21 | /** 22 | All image loaders in manager. The loaders array is a priority queue, which means the later added loader will have the highest priority 23 | */ 24 | @property (nonatomic, copy, nullable) NSArray>* loaders; 25 | 26 | /** 27 | Add a new image loader to the end of loaders array. Which has the highest priority. 28 | 29 | @param loader loader 30 | */ 31 | - (void)addLoader:(nonnull id)loader; 32 | 33 | /** 34 | Remove a image loader in the loaders array. 35 | 36 | @param loader loader 37 | */ 38 | - (void)removeLoader:(nonnull id)loader; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageFrame.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 | #import "SDWebImageCompat.h" 11 | 12 | /** 13 | This class is used for creating animated images via `animatedImageWithFrames` in `SDImageCoderHelper`. 14 | @note If you need to specify animated images loop count, use `sd_imageLoopCount` property in `UIImage+Metadata.h`. 15 | */ 16 | @interface SDImageFrame : NSObject 17 | 18 | /** 19 | The image of current frame. You should not set an animated image. 20 | */ 21 | @property (nonatomic, strong, readonly, nonnull) UIImage *image; 22 | /** 23 | The duration of current frame to be displayed. The number is seconds but not milliseconds. You should not set this to zero. 24 | */ 25 | @property (nonatomic, readonly, assign) NSTimeInterval duration; 26 | 27 | /** 28 | Create a frame instance with specify image and duration 29 | 30 | @param image current frame's image 31 | @param duration current frame's duration 32 | @return frame instance 33 | */ 34 | + (instancetype _Nonnull)frameWithImage:(UIImage * _Nonnull)image duration:(NSTimeInterval)duration; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/UIView+SDExtension.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+SDExtension.h 3 | // SDRefreshView 4 | // 5 | // Created by aier on 15-2-23. 6 | // Copyright (c) 2015年 GSD. All rights reserved. 7 | // 8 | 9 | /* 10 | 11 | ********************************************************************************* 12 | * 13 | * 🌟🌟🌟 新建SDCycleScrollView交流QQ群:185534916 🌟🌟🌟 14 | * 15 | * 在您使用此自动轮播库的过程中如果出现bug请及时以以下任意一种方式联系我们,我们会及时修复bug并 16 | * 帮您解决问题。 17 | * 新浪微博:GSD_iOS 18 | * Email : gsdios@126.com 19 | * GitHub: https://github.com/gsdios 20 | * 21 | * 另(我的自动布局库SDAutoLayout): 22 | * 一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于 23 | * 做最简单易用的AutoLayout库。 24 | * 视频教程:http://www.letv.com/ptv/vplay/24038772.html 25 | * 用法示例:https://github.com/gsdios/SDAutoLayout/blob/master/README.md 26 | * GitHub:https://github.com/gsdios/SDAutoLayout 27 | ********************************************************************************* 28 | 29 | */ 30 | 31 | #import 32 | 33 | #define SDColorCreater(r, g, b, a) [UIColor colorWithRed:(r / 255.0) green:(g / 255.0) blue:(b / 255.0) alpha:a] 34 | 35 | 36 | @interface UIView (SDExtension) 37 | 38 | @property (nonatomic, assign) CGFloat sd_height; 39 | @property (nonatomic, assign) CGFloat sd_width; 40 | 41 | @property (nonatomic, assign) CGFloat sd_y; 42 | @property (nonatomic, assign) CGFloat sd_x; 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/PageControl/TADotView.m: -------------------------------------------------------------------------------- 1 | // 2 | // TADotView.m 3 | // TAPageControl 4 | // 5 | // Created by Tanguy Aladenise on 2015-01-22. 6 | // Copyright (c) 2015 Tanguy Aladenise. All rights reserved. 7 | // 8 | 9 | #import "TADotView.h" 10 | 11 | @implementation TADotView 12 | 13 | 14 | - (instancetype)init 15 | { 16 | self = [super init]; 17 | if (self) { 18 | [self initialization]; 19 | } 20 | 21 | return self; 22 | } 23 | 24 | 25 | - (id)initWithFrame:(CGRect)frame 26 | { 27 | self = [super initWithFrame:frame]; 28 | if (self) { 29 | [self initialization]; 30 | } 31 | return self; 32 | } 33 | 34 | 35 | - (id)initWithCoder:(NSCoder *)aDecoder 36 | { 37 | self = [super initWithCoder:aDecoder]; 38 | if (self) { 39 | [self initialization]; 40 | } 41 | 42 | return self; 43 | } 44 | 45 | - (void)initialization 46 | { 47 | self.backgroundColor = [UIColor clearColor]; 48 | self.layer.cornerRadius = CGRectGetWidth(self.frame) / 2; 49 | self.layer.borderColor = [UIColor whiteColor].CGColor; 50 | self.layer.borderWidth = 2; 51 | } 52 | 53 | 54 | - (void)changeActivityState:(BOOL)active 55 | { 56 | if (active) { 57 | self.backgroundColor = [UIColor whiteColor]; 58 | } else { 59 | self.backgroundColor = [UIColor clearColor]; 60 | } 61 | } 62 | 63 | @end 64 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASViewAttribute.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 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageIOCoder.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 | #import "SDImageCoder.h" 11 | 12 | /** 13 | Built in coder that supports PNG, JPEG, TIFF, includes support for progressive decoding. 14 | 15 | GIF 16 | Also supports static GIF (meaning will only handle the 1st frame). 17 | For a full GIF support, we recommend `SDAnimatedImageView` to keep both CPU and memory balanced. 18 | 19 | HEIC 20 | This coder also supports HEIC format because ImageIO supports it natively. But it depends on the system capabilities, so it won't work on all devices, see: https://devstreaming-cdn.apple.com/videos/wwdc/2017/511tj33587vdhds/511/511_working_with_heif_and_hevc.pdf 21 | Decode(Software): !Simulator && (iOS 11 || tvOS 11 || macOS 10.13) 22 | Decode(Hardware): !Simulator && ((iOS 11 && A9Chip) || (macOS 10.13 && 6thGenerationIntelCPU)) 23 | Encode(Software): macOS 10.13 24 | Encode(Hardware): !Simulator && ((iOS 11 && A10FusionChip) || (macOS 10.13 && 6thGenerationIntelCPU)) 25 | */ 26 | @interface SDImageIOCoder : NSObject 27 | 28 | @property (nonatomic, class, readonly, nonnull) SDImageIOCoder *sharedCoder; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.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 | @interface UIImage (ExtendedCacheData) 14 | 15 | /** 16 | Read and Write the extended object and bind it to the image. Which can hold some extra metadata like Image's scale factor, URL rich link, date, etc. 17 | The extended object should conforms to NSCoding, which we use `NSKeyedArchiver` and `NSKeyedUnarchiver` to archive it to data, and write to disk cache. 18 | @note The disk cache preserve both of the data and extended data with the same cache key. For manual query, use the `SDDiskCache` protocol method `extendedDataForKey:` instead. 19 | @note You can specify arbitrary object conforms to NSCoding (NSObject protocol here is used to support object using `NS_ROOT_CLASS`, which is not NSObject subclass). If you load image from disk cache, you should check the extended object class to avoid corrupted data. 20 | @warning This object don't need to implements NSSecureCoding (but it's recommended), because we allows arbitrary class. 21 | */ 22 | @property (nonatomic, strong, nullable) id sd_extendedObject; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.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 | /** 12 | UIImage category for memory cache cost. 13 | */ 14 | @interface UIImage (MemoryCacheCost) 15 | 16 | /** 17 | The memory cache cost for specify image used by image cache. The cost function is the bytes size held in memory. 18 | If you set some associated object to `UIImage`, you can set the custom value to indicate the memory cost. 19 | 20 | For `UIImage`, this method return the single frame bytes size when `image.images` is nil for static image. Retuen full frame bytes size when `image.images` is not nil for animated image. 21 | For `NSImage`, this method return the single frame bytes size because `NSImage` does not store all frames in memory. 22 | @note Note that because of the limitations of category this property can get out of sync if you create another instance with CGImage or other methods. 23 | @note For custom animated class conforms to `SDAnimatedImage`, you can override this getter method in your subclass to return a more proper value instead, which representing the current frame's total bytes. 24 | */ 25 | @property (assign, nonatomic) NSUInteger sd_memoryCost; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASViewAttribute.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 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.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 "UIImage+ForceDecode.h" 10 | #import "SDImageCoderHelper.h" 11 | #import "objc/runtime.h" 12 | 13 | @implementation UIImage (ForceDecode) 14 | 15 | - (BOOL)sd_isDecoded { 16 | NSNumber *value = objc_getAssociatedObject(self, @selector(sd_isDecoded)); 17 | return value.boolValue; 18 | } 19 | 20 | - (void)setSd_isDecoded:(BOOL)sd_isDecoded { 21 | objc_setAssociatedObject(self, @selector(sd_isDecoded), @(sd_isDecoded), OBJC_ASSOCIATION_RETAIN_NONATOMIC); 22 | } 23 | 24 | + (nullable UIImage *)sd_decodedImageWithImage:(nullable UIImage *)image { 25 | if (!image) { 26 | return nil; 27 | } 28 | return [SDImageCoderHelper decodedImageWithImage:image]; 29 | } 30 | 31 | + (nullable UIImage *)sd_decodedAndScaledDownImageWithImage:(nullable UIImage *)image { 32 | return [self sd_decodedAndScaledDownImageWithImage:image limitBytes:0]; 33 | } 34 | 35 | + (nullable UIImage *)sd_decodedAndScaledDownImageWithImage:(nullable UIImage *)image limitBytes:(NSUInteger)bytes { 36 | if (!image) { 37 | return nil; 38 | } 39 | return [SDImageCoderHelper decodedAndScaledDownImageWithImage:image limitBytes:bytes]; 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /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 | // MASViewConstraint.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 | -------------------------------------------------------------------------------- /QQHomePage/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/11. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | 24 | #pragma mark - UISceneSession lifecycle 25 | 26 | 27 | - (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { 28 | // Called when a new scene session is being created. 29 | // Use this method to select a configuration to create the new scene with. 30 | return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; 31 | } 32 | 33 | 34 | - (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { 35 | // Called when the user discards a scene session. 36 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 37 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 38 | } 39 | 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageGIFCoder.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 "SDImageGIFCoder.h" 10 | #if SD_MAC 11 | #import 12 | #else 13 | #import 14 | #endif 15 | 16 | @implementation SDImageGIFCoder 17 | 18 | + (instancetype)sharedCoder { 19 | static SDImageGIFCoder *coder; 20 | static dispatch_once_t onceToken; 21 | dispatch_once(&onceToken, ^{ 22 | coder = [[SDImageGIFCoder alloc] init]; 23 | }); 24 | return coder; 25 | } 26 | 27 | #pragma mark - Subclass Override 28 | 29 | + (SDImageFormat)imageFormat { 30 | return SDImageFormatGIF; 31 | } 32 | 33 | + (NSString *)imageUTType { 34 | return (__bridge NSString *)kUTTypeGIF; 35 | } 36 | 37 | + (NSString *)dictionaryProperty { 38 | return (__bridge NSString *)kCGImagePropertyGIFDictionary; 39 | } 40 | 41 | + (NSString *)unclampedDelayTimeProperty { 42 | return (__bridge NSString *)kCGImagePropertyGIFUnclampedDelayTime; 43 | } 44 | 45 | + (NSString *)delayTimeProperty { 46 | return (__bridge NSString *)kCGImagePropertyGIFDelayTime; 47 | } 48 | 49 | + (NSString *)loopCountProperty { 50 | return (__bridge NSString *)kCGImagePropertyGIFLoopCount; 51 | } 52 | 53 | + (NSUInteger)defaultLoopCount { 54 | return 1; 55 | } 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /QQHomePage/View/MVList/MVListCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVListCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "MVListCell.h" 10 | #import "UIImageView+WebCache.h" 11 | 12 | @implementation MVListCell 13 | 14 | - (void)awakeFromNib { 15 | [super awakeFromNib]; 16 | // Initialization code 17 | [self.collectionView registerNib:[UINib nibWithNibName:@"MVCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"Cell"]; 18 | } 19 | 20 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated { 21 | [super setSelected:selected animated:animated]; 22 | 23 | // Configure the view for the selected state 24 | } 25 | 26 | #pragma mark - UICollectionViewDelegate, UICollectionViewDataSource 27 | 28 | - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 29 | MVCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; 30 | NSDictionary *dic = self.listJson[indexPath.item]; 31 | 32 | [cell.imgV setImageURL:[NSURL URLWithString:dic[@"picurl"]]]; 33 | cell.imgV.asyncCornerRadius = 10.f; 34 | cell.imgV.drawMask = YES; 35 | 36 | cell.titleLabel.text = dic[@"title"]; 37 | [cell.iconV setImageURL:[NSURL URLWithString:dic[@"singers"][0][@"picurl"]]]; 38 | cell.iconV.asyncCornerRadius = cell.iconV.frame.size.width / 2; 39 | cell.nameLabel.text = dic[@"singers"][0][@"name"]; 40 | return cell; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /QQHomePage/View/SongList/SongCollectionViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // SongCollectionViewCell.m 3 | // QQHomePage 4 | // 5 | // Created by Cocos on 2020/3/16. 6 | // Copyright © 2020 Cocos. All rights reserved. 7 | // 8 | 9 | #import "SongCollectionViewCell.h" 10 | 11 | @implementation SongCollectionViewCell 12 | 13 | - (void)awakeFromNib { 14 | [super awakeFromNib]; 15 | // Initialization code 16 | // 图片圆角处理 17 | // self.imgV.layer.cornerRadius = 10.f; 18 | // self.imgV.layer.masksToBounds = YES; 19 | 20 | 21 | // 图片上方追加渐变灰度蒙版, 当前的maskV的尺寸假设已经符合要求了 22 | // UIColor *color1 = [UIColor colorWithRed:(0) green:(0) blue:(0) alpha:0.1]; 23 | // UIColor *color2 = [UIColor colorWithRed:(0) green:(0) blue:(0) alpha:0.2]; 24 | // UIColor *color3 = [UIColor colorWithRed:(0) green:(0) blue:(0) alpha:0.3]; 25 | // NSArray *colors = [NSArray arrayWithObjects:(id)color1.CGColor, color2.CGColor,color3.CGColor, nil]; 26 | // NSArray *locations = [NSArray arrayWithObjects:@(0.0), @(0.7),@(1.0), nil]; 27 | // CAGradientLayer *gradientLayer = [CAGradientLayer layer]; 28 | // gradientLayer.zPosition = -1; 29 | // gradientLayer.colors = colors; 30 | // gradientLayer.locations = locations; 31 | // gradientLayer.frame = self.maskV.bounds; 32 | // gradientLayer.startPoint = CGPointMake(0, 0); 33 | // gradientLayer.endPoint = CGPointMake(0, 1); 34 | // [self.maskV.layer addSublayer:gradientLayer]; 35 | // 36 | // self.maskV.layer.masksToBounds = YES; 37 | // self.maskV.layer.cornerRadius = 10.f; 38 | } 39 | 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+MemoryCacheCost.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 "UIImage+MemoryCacheCost.h" 10 | #import "objc/runtime.h" 11 | #import "NSImage+Compatibility.h" 12 | 13 | FOUNDATION_STATIC_INLINE NSUInteger SDMemoryCacheCostForImage(UIImage *image) { 14 | CGImageRef imageRef = image.CGImage; 15 | if (!imageRef) { 16 | return 0; 17 | } 18 | NSUInteger bytesPerFrame = CGImageGetBytesPerRow(imageRef) * CGImageGetHeight(imageRef); 19 | NSUInteger frameCount; 20 | #if SD_MAC 21 | frameCount = 1; 22 | #elif SD_UIKIT || SD_WATCH 23 | frameCount = image.images.count > 0 ? image.images.count : 1; 24 | #endif 25 | NSUInteger cost = bytesPerFrame * frameCount; 26 | return cost; 27 | } 28 | 29 | @implementation UIImage (MemoryCacheCost) 30 | 31 | - (NSUInteger)sd_memoryCost { 32 | NSNumber *value = objc_getAssociatedObject(self, @selector(sd_memoryCost)); 33 | NSUInteger memoryCost; 34 | if (value != nil) { 35 | memoryCost = [value unsignedIntegerValue]; 36 | } else { 37 | memoryCost = SDMemoryCacheCostForImage(self); 38 | } 39 | return memoryCost; 40 | } 41 | 42 | - (void)setSd_memoryCost:(NSUInteger)sd_memoryCost { 43 | objc_setAssociatedObject(self, @selector(sd_memoryCost), @(sd_memoryCost), OBJC_ASSOCIATION_RETAIN_NONATOMIC); 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageCacheSerializer.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 | #import "SDWebImageCompat.h" 11 | 12 | typedef NSData * _Nullable(^SDWebImageCacheSerializerBlock)(UIImage * _Nonnull image, NSData * _Nullable data, NSURL * _Nullable imageURL); 13 | 14 | /** 15 | This is the protocol for cache serializer. 16 | We can use a block to specify the cache serializer. But Using protocol can make this extensible, and allow Swift user to use it easily instead of using `@convention(block)` to store a block into context options. 17 | */ 18 | @protocol SDWebImageCacheSerializer 19 | 20 | /// Provide the image data associated to the image and store to disk cache 21 | /// @param image The loaded image 22 | /// @param data The original loaded image data 23 | /// @param imageURL The image URL 24 | - (nullable NSData *)cacheDataWithImage:(nonnull UIImage *)image originalData:(nullable NSData *)data imageURL:(nullable NSURL *)imageURL; 25 | 26 | @end 27 | 28 | /** 29 | A cache serializer class with block. 30 | */ 31 | @interface SDWebImageCacheSerializer : NSObject 32 | 33 | - (nonnull instancetype)initWithBlock:(nonnull SDWebImageCacheSerializerBlock)block; 34 | + (nonnull instancetype)cacheSerializerWithBlock:(nonnull SDWebImageCacheSerializerBlock)block; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /QQHomePage/ThirdLib/SDCycleScrollView/SDCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // SDCollectionViewCell.h 3 | // SDCycleScrollView 4 | // 5 | // Created by aier on 15-3-22. 6 | // Copyright (c) 2015年 GSD. All rights reserved. 7 | // 8 | 9 | /* 10 | 11 | ********************************************************************************* 12 | * 13 | * 🌟🌟🌟 新建SDCycleScrollView交流QQ群:185534916 🌟🌟🌟 14 | * 15 | * 在您使用此自动轮播库的过程中如果出现bug请及时以以下任意一种方式联系我们,我们会及时修复bug并 16 | * 帮您解决问题。 17 | * 新浪微博:GSD_iOS 18 | * Email : gsdios@126.com 19 | * GitHub: https://github.com/gsdios 20 | * 21 | * 另(我的自动布局库SDAutoLayout): 22 | * 一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于 23 | * 做最简单易用的AutoLayout库。 24 | * 视频教程:http://www.letv.com/ptv/vplay/24038772.html 25 | * 用法示例:https://github.com/gsdios/SDAutoLayout/blob/master/README.md 26 | * GitHub:https://github.com/gsdios/SDAutoLayout 27 | ********************************************************************************* 28 | 29 | */ 30 | 31 | 32 | 33 | #import 34 | 35 | @interface SDCollectionViewCell : UICollectionViewCell 36 | 37 | @property (weak, nonatomic) UIImageView *imageView; 38 | @property (copy, nonatomic) NSString *title; 39 | 40 | @property (nonatomic, strong) UIColor *titleLabelTextColor; 41 | @property (nonatomic, strong) UIFont *titleLabelTextFont; 42 | @property (nonatomic, strong) UIColor *titleLabelBackgroundColor; 43 | @property (nonatomic, assign) CGFloat titleLabelHeight; 44 | 45 | @property (nonatomic, assign) BOOL hasConfigured; 46 | 47 | /** 只展示文字轮播 */ 48 | @property (nonatomic, assign) BOOL onlyDisplayText; 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+ForceDecode.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 | /** 12 | UIImage category about force decode feature (avoid Image/IO's lazy decoding during rendering behavior). 13 | */ 14 | @interface UIImage (ForceDecode) 15 | 16 | /** 17 | A bool value indicating whether the image has already been decoded. This can help to avoid extra force decode. 18 | */ 19 | @property (nonatomic, assign) BOOL sd_isDecoded; 20 | 21 | /** 22 | Decode the provided image. This is useful if you want to force decode the image before rendering to improve performance. 23 | 24 | @param image The image to be decoded 25 | @return The decoded image 26 | */ 27 | + (nullable UIImage *)sd_decodedImageWithImage:(nullable UIImage *)image; 28 | 29 | /** 30 | Decode and scale down the provided image 31 | 32 | @param image The image to be decoded 33 | @return The decoded and scaled down image 34 | */ 35 | + (nullable UIImage *)sd_decodedAndScaledDownImageWithImage:(nullable UIImage *)image; 36 | 37 | /** 38 | Decode and scale down the provided image with limit bytes 39 | 40 | @param image The image to be decoded 41 | @param bytes The limit bytes size. Provide 0 to use the build-in limit. 42 | @return The decoded and scaled down image 43 | */ 44 | + (nullable UIImage *)sd_decodedAndScaledDownImageWithImage:(nullable UIImage *)image limitBytes:(NSUInteger)bytes; 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderRequestModifier.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 | #import "SDWebImageCompat.h" 11 | 12 | typedef NSURLRequest * _Nullable (^SDWebImageDownloaderRequestModifierBlock)(NSURLRequest * _Nonnull request); 13 | 14 | /** 15 | This is the protocol for downloader request modifier. 16 | We can use a block to specify the downloader request modifier. But Using protocol can make this extensible, and allow Swift user to use it easily instead of using `@convention(block)` to store a block into context options. 17 | */ 18 | @protocol SDWebImageDownloaderRequestModifier 19 | 20 | /// Modify the original URL request and return a new one instead. You can modify the HTTP header, cachePolicy, etc for this URL. 21 | /// @param request The original URL request for image loading 22 | /// @note If return nil, the URL request will be cancelled. 23 | - (nullable NSURLRequest *)modifiedRequestWithRequest:(nonnull NSURLRequest *)request; 24 | 25 | @end 26 | 27 | /** 28 | A downloader request modifier class with block. 29 | */ 30 | @interface SDWebImageDownloaderRequestModifier : NSObject 31 | 32 | - (nonnull instancetype)initWithBlock:(nonnull SDWebImageDownloaderRequestModifierBlock)block; 33 | + (nonnull instancetype)requestModifierWithBlock:(nonnull SDWebImageDownloaderRequestModifierBlock)block; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageGraphics.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 11 | 12 | /** 13 | These following graphics context method are provided to easily write cross-platform(AppKit/UIKit) code. 14 | For UIKit, these methods just call the same method in `UIGraphics.h`. See the documentation for usage. 15 | For AppKit, these methods use `NSGraphicsContext` to create image context and match the behavior like UIKit. 16 | @note If you don't care bitmap format (ARGB8888) and just draw image, use `SDGraphicsImageRenderer` instead. It's more performant on RAM usage.` 17 | */ 18 | 19 | /// Returns the current graphics context. 20 | FOUNDATION_EXPORT CGContextRef __nullable SDGraphicsGetCurrentContext(void) CF_RETURNS_NOT_RETAINED; 21 | /// Creates a bitmap-based graphics context and makes it the current context. 22 | FOUNDATION_EXPORT void SDGraphicsBeginImageContext(CGSize size); 23 | /// Creates a bitmap-based graphics context with the specified options. 24 | FOUNDATION_EXPORT void SDGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale); 25 | /// Removes the current bitmap-based graphics context from the top of the stack. 26 | FOUNDATION_EXPORT void SDGraphicsEndImageContext(void); 27 | /// Returns an image based on the contents of the current bitmap-based graphics context. 28 | FOUNDATION_EXPORT UIImage * __nullable SDGraphicsGetImageFromCurrentImageContext(void); 29 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderConfig.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 "SDWebImageDownloaderConfig.h" 10 | 11 | static SDWebImageDownloaderConfig * _defaultDownloaderConfig; 12 | 13 | @implementation SDWebImageDownloaderConfig 14 | 15 | + (SDWebImageDownloaderConfig *)defaultDownloaderConfig { 16 | static dispatch_once_t onceToken; 17 | dispatch_once(&onceToken, ^{ 18 | _defaultDownloaderConfig = [SDWebImageDownloaderConfig new]; 19 | }); 20 | return _defaultDownloaderConfig; 21 | } 22 | 23 | - (instancetype)init { 24 | self = [super init]; 25 | if (self) { 26 | _maxConcurrentDownloads = 6; 27 | _downloadTimeout = 15.0; 28 | _executionOrder = SDWebImageDownloaderFIFOExecutionOrder; 29 | } 30 | return self; 31 | } 32 | 33 | - (id)copyWithZone:(NSZone *)zone { 34 | SDWebImageDownloaderConfig *config = [[[self class] allocWithZone:zone] init]; 35 | config.maxConcurrentDownloads = self.maxConcurrentDownloads; 36 | config.downloadTimeout = self.downloadTimeout; 37 | config.minimumProgressInterval = self.minimumProgressInterval; 38 | config.sessionConfiguration = [self.sessionConfiguration copyWithZone:zone]; 39 | config.operationClass = self.operationClass; 40 | config.executionOrder = self.executionOrder; 41 | config.urlCredential = self.urlCredential; 42 | config.username = self.username; 43 | config.password = self.password; 44 | 45 | return config; 46 | } 47 | 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderResponseModifier.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 | #import "SDWebImageCompat.h" 11 | 12 | typedef NSURLResponse * _Nullable (^SDWebImageDownloaderResponseModifierBlock)(NSURLResponse * _Nonnull response); 13 | 14 | /** 15 | This is the protocol for downloader response modifier. 16 | We can use a block to specify the downloader response modifier. But Using protocol can make this extensible, and allow Swift user to use it easily instead of using `@convention(block)` to store a block into context options. 17 | */ 18 | @protocol SDWebImageDownloaderResponseModifier 19 | 20 | /// Modify the original URL response and return a new response. You can use this to check MIME-Type, mock server response, etc. 21 | /// @param response The original URL response, note for HTTP request it's actually a `NSHTTPURLResponse` instance 22 | /// @note If nil is returned, the image download will marked as cancelled with error `SDWebImageErrorInvalidDownloadResponse` 23 | - (nullable NSURLResponse *)modifiedResponseWithResponse:(nonnull NSURLResponse *)response; 24 | 25 | @end 26 | 27 | /** 28 | A downloader response modifier class with block. 29 | */ 30 | @interface SDWebImageDownloaderResponseModifier : NSObject 31 | 32 | - (nonnull instancetype)initWithBlock:(nonnull SDWebImageDownloaderResponseModifierBlock)block; 33 | + (nonnull instancetype)responseModifierWithBlock:(nonnull SDWebImageDownloaderResponseModifierBlock)block; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /QQHomePage/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 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageOptionsProcessor.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 "SDWebImageOptionsProcessor.h" 10 | 11 | @interface SDWebImageOptionsResult () 12 | 13 | @property (nonatomic, assign) SDWebImageOptions options; 14 | @property (nonatomic, copy, nullable) SDWebImageContext *context; 15 | 16 | @end 17 | 18 | @implementation SDWebImageOptionsResult 19 | 20 | - (instancetype)initWithOptions:(SDWebImageOptions)options context:(SDWebImageContext *)context { 21 | self = [super init]; 22 | if (self) { 23 | self.options = options; 24 | self.context = context; 25 | } 26 | return self; 27 | } 28 | 29 | @end 30 | 31 | @interface SDWebImageOptionsProcessor () 32 | 33 | @property (nonatomic, copy, nonnull) SDWebImageOptionsProcessorBlock block; 34 | 35 | @end 36 | 37 | @implementation SDWebImageOptionsProcessor 38 | 39 | - (instancetype)initWithBlock:(SDWebImageOptionsProcessorBlock)block { 40 | self = [super init]; 41 | if (self) { 42 | self.block = block; 43 | } 44 | return self; 45 | } 46 | 47 | + (instancetype)optionsProcessorWithBlock:(SDWebImageOptionsProcessorBlock)block { 48 | SDWebImageOptionsProcessor *optionsProcessor = [[SDWebImageOptionsProcessor alloc] initWithBlock:block]; 49 | return optionsProcessor; 50 | } 51 | 52 | - (SDWebImageOptionsResult *)processedResultForURL:(NSURL *)url options:(SDWebImageOptions)options context:(SDWebImageContext *)context { 53 | if (!self.block) { 54 | return nil; 55 | } 56 | return self.block(url, options, context); 57 | } 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/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 | #import "SDWebImageOperation.h" 11 | 12 | /** 13 | These methods are used to support canceling for UIView image loading, it's designed to be used internal but not external. 14 | All the stored operations are weak, so it will be dalloced after image loading finished. If you need to store operations, use your own class to keep a strong reference for them. 15 | */ 16 | @interface UIView (WebCacheOperation) 17 | 18 | /** 19 | * Get the image load operation for key 20 | * 21 | * @param key key for identifying the operations 22 | * @return the image load operation 23 | */ 24 | - (nullable id)sd_imageLoadOperationForKey:(nullable NSString *)key; 25 | 26 | /** 27 | * Set the image load operation (storage in a UIView based weak map table) 28 | * 29 | * @param operation the operation 30 | * @param key key for storing the operation 31 | */ 32 | - (void)sd_setImageLoadOperation:(nullable id)operation forKey:(nullable NSString *)key; 33 | 34 | /** 35 | * Cancel all operations for the current UIView and key 36 | * 37 | * @param key key for identifying the operations 38 | */ 39 | - (void)sd_cancelImageLoadOperationWithKey:(nullable NSString *)key; 40 | 41 | /** 42 | * Just remove the operations corresponding to the current UIView and key without cancelling them 43 | * 44 | * @param key key for identifying the operations 45 | */ 46 | - (void)sd_removeImageLoadOperationWithKey:(nullable NSString *)key; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /Pods/LHPerformanceStatusBar/Classes/LHPerformanceLabel.m: -------------------------------------------------------------------------------- 1 | // 2 | // LHPerformanceLabel.m 3 | // 4 | // 5 | // Created by Leo on 2016/12/26. 6 | // Copyright © 2016年 Leo. All rights reserved. 7 | // 8 | 9 | #import "LHPerformanceLabel.h" 10 | @interface LHPerformanceLabel() 11 | 12 | @property (strong,nonatomic)NSMutableDictionary * configCache; 13 | 14 | @end 15 | 16 | @implementation LHPerformanceLabel 17 | 18 | - (instancetype)initWithFrame:(CGRect)frame 19 | { 20 | self = [super initWithFrame:frame]; 21 | if (self) { 22 | [self setup]; 23 | } 24 | return self; 25 | } 26 | 27 | - (void)setup{ 28 | [self setTextColor:[UIColor colorWithRed:244.0/255.0 green:66.0/255.0 blue:66.0/255.0 alpha:1.0] forState:LHPerformanceStateBad]; 29 | [self setTextColor:[UIColor orangeColor] forState:LHPerformanceStateWarning]; 30 | [self setTextColor:[UIColor colorWithRed:66.0/255.0 green:244.0/255.0 blue:89.0/255.0 alpha:1.0] forState:LHPerformanceStateGood]; 31 | self.state = LHPerformanceStateGood; 32 | } 33 | 34 | - (NSMutableDictionary *)configCache{ 35 | if (_configCache == nil) { 36 | _configCache = [[NSMutableDictionary alloc] init]; 37 | } 38 | return _configCache; 39 | } 40 | - (void)setTextColor:(UIColor *)textColor forState:(LHPerformanceLabelState)state{ 41 | if (textColor) { 42 | [self.configCache setObject:textColor forKey:@(state)]; 43 | }else{ 44 | [self.configCache removeObjectForKey:@(state)]; 45 | } 46 | } 47 | 48 | - (UIColor *)textColorForState:(LHPerformanceLabelState)state{ 49 | return [self.configCache objectForKey:@(state)]; 50 | } 51 | 52 | - (void)setState:(LHPerformanceLabelState)state{ 53 | _state = state; 54 | UIColor * color = [self textColorForState:state]; 55 | self.textColor = color; 56 | } 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageError.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Jamie Pinkham 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 | FOUNDATION_EXPORT NSErrorDomain const _Nonnull SDWebImageErrorDomain; 13 | 14 | /// The HTTP status code for invalid download response (NSNumber *) 15 | FOUNDATION_EXPORT NSErrorUserInfoKey const _Nonnull SDWebImageErrorDownloadStatusCodeKey; 16 | 17 | /// SDWebImage error domain and codes 18 | typedef NS_ERROR_ENUM(SDWebImageErrorDomain, SDWebImageError) { 19 | SDWebImageErrorInvalidURL = 1000, // The URL is invalid, such as nil URL or corrupted URL 20 | SDWebImageErrorBadImageData = 1001, // The image data can not be decoded to image, or the image data is empty 21 | SDWebImageErrorCacheNotModified = 1002, // The remote location specify that the cached image is not modified, such as the HTTP response 304 code. It's useful for `SDWebImageRefreshCached` 22 | SDWebImageErrorInvalidDownloadOperation = 2000, // The image download operation is invalid, such as nil operation or unexpected error occur when operation initialized 23 | SDWebImageErrorInvalidDownloadStatusCode = 2001, // The image download response a invalid status code. You can check the status code in error's userInfo under `SDWebImageErrorDownloadStatusCodeKey` 24 | SDWebImageErrorCancelled = 2002, // The image loading operation is cancelled before finished, during either async disk cache query, or waiting before actual network request. For actual network request error, check `NSURLErrorDomain` error domain and code. 25 | SDWebImageErrorInvalidDownloadResponse = 2003, // When using response modifier, the modified download response is nil and marked as failed. 26 | }; 27 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageDownloaderDecryptor.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 "SDWebImageDownloaderDecryptor.h" 10 | 11 | @interface SDWebImageDownloaderDecryptor () 12 | 13 | @property (nonatomic, copy, nonnull) SDWebImageDownloaderDecryptorBlock block; 14 | 15 | @end 16 | 17 | @implementation SDWebImageDownloaderDecryptor 18 | 19 | - (instancetype)initWithBlock:(SDWebImageDownloaderDecryptorBlock)block { 20 | self = [super init]; 21 | if (self) { 22 | self.block = block; 23 | } 24 | return self; 25 | } 26 | 27 | + (instancetype)decryptorWithBlock:(SDWebImageDownloaderDecryptorBlock)block { 28 | SDWebImageDownloaderDecryptor *decryptor = [[SDWebImageDownloaderDecryptor alloc] initWithBlock:block]; 29 | return decryptor; 30 | } 31 | 32 | - (nullable NSData *)decryptedDataWithData:(nonnull NSData *)data response:(nullable NSURLResponse *)response { 33 | if (!self.block) { 34 | return nil; 35 | } 36 | return self.block(data, response); 37 | } 38 | 39 | @end 40 | 41 | @implementation SDWebImageDownloaderDecryptor (Conveniences) 42 | 43 | + (SDWebImageDownloaderDecryptor *)base64Decryptor { 44 | static SDWebImageDownloaderDecryptor *decryptor; 45 | static dispatch_once_t onceToken; 46 | dispatch_once(&onceToken, ^{ 47 | decryptor = [SDWebImageDownloaderDecryptor decryptorWithBlock:^NSData * _Nullable(NSData * _Nonnull data, NSURLResponse * _Nullable response) { 48 | NSData *modifiedData = [[NSData alloc] initWithBase64EncodedData:data options:NSDataBase64DecodingIgnoreUnknownCharacters]; 49 | return modifiedData; 50 | }]; 51 | }); 52 | return decryptor; 53 | } 54 | 55 | @end 56 | --------------------------------------------------------------------------------