├── .gitignore ├── Algorithm(算法) ├── Algorithm.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── Algorithm │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── Sort.h │ ├── Sort.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── AlipayScanQRCode ├── AlipayScanQRCode.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── AlipayScanQRCode │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── Resources │ ├── sweep_bg_line@2x.png │ ├── sweep_kuangdownleft@2x.png │ ├── sweep_kuangdownright@2x.png │ ├── sweep_kuangupperleft@2x.png │ └── sweep_kuangupperright@2x.png │ ├── ScanCodeController.h │ ├── ScanCodeController.m │ ├── UIView+extension.h │ ├── UIView+extension.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── AssistiveTouchDemo ├── .DS_Store ├── AssistiveTouchDemo.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── AssistiveTouchDemo │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── .DS_Store │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── AssistiveTouch.h │ ├── AssistiveTouch.m │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── AudioDemo ├── AudioDemo.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── AudioDemo │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Doc.m │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ ├── main.m │ └── recording.png ├── Autograph ├── Autograph.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── Autograph │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── SignViewController.h │ ├── SignViewController.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── DB&&事务 ├── .DS_Store ├── DB.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── DB │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── FMDB │ │ ├── FMDB.h │ │ ├── FMDatabase.h │ │ ├── FMDatabase.m │ │ ├── FMDatabaseAdditions.h │ │ ├── FMDatabaseAdditions.m │ │ ├── FMDatabasePool.h │ │ ├── FMDatabasePool.m │ │ ├── FMDatabaseQueue.h │ │ ├── FMDatabaseQueue.m │ │ ├── FMResultSet.h │ │ └── FMResultSet.m │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── DBTests │ ├── DBTests.m │ └── Info.plist └── DBUITests │ ├── DBUITests.m │ └── Info.plist ├── DB ├── .DS_Store ├── DB.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── DB │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── FMDB │ │ ├── FMDB.h │ │ ├── FMDatabase.h │ │ ├── FMDatabase.m │ │ ├── FMDatabaseAdditions.h │ │ ├── FMDatabaseAdditions.m │ │ ├── FMDatabasePool.h │ │ ├── FMDatabasePool.m │ │ ├── FMDatabaseQueue.h │ │ ├── FMDatabaseQueue.m │ │ ├── FMResultSet.h │ │ └── FMResultSet.m │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── DBTests │ ├── DBTests.m │ └── Info.plist └── DBUITests │ ├── DBUITests.m │ └── Info.plist ├── FoldTableView ├── .DS_Store ├── FoldTableView.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── FoldTableView │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── .DS_Store │ ├── AppIcon.appiconset │ │ ├── .DS_Store │ │ └── Contents.json │ ├── Contents.json │ └── expanded.imageset │ │ ├── .DS_Store │ │ ├── Contents.json │ │ ├── brand_expand@2x.png │ │ └── brand_expand@3x.png │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── Models │ ├── CellModel.h │ ├── CellModel.m │ ├── SectionModel.h │ └── SectionModel.m │ ├── ViewController.h │ ├── ViewController.m │ ├── Views │ ├── .DS_Store │ ├── HeaderView.h │ ├── HeaderView.m │ ├── TableViewCell.h │ └── TableViewCell.m │ └── main.m ├── JSPatchDemo ├── JSPatchDemo.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── JSPatchDemo │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── Info.plist │ ├── JSPatch │ ├── JPEngine.h │ ├── JPEngine.m │ └── JSPatch.js │ ├── ViewController.h │ ├── ViewController.m │ ├── main.m │ └── test.js ├── LICENSE ├── MultiLanguage ├── .DS_Store ├── InternationalControl.h ├── InternationalControl.m ├── MultiLanguage.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── MultiLanguage │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── LanguageManager.h │ ├── LanguageManager.m │ ├── ViewController.h │ ├── ViewController.m │ ├── en.lproj │ │ └── InfoPlist.strings │ ├── main.m │ ├── zh-Hans.lproj │ │ └── InfoPlist.strings │ └── zh-Hant.lproj │ │ └── InfoPlist.strings ├── en.lproj │ └── Localizable.strings ├── zh-Hans.lproj │ └── Localizable.strings └── zh-Hant.lproj │ └── Localizable.strings ├── Objective-C.gitignore ├── PieChart ├── PieChart.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── PieChart │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── ChartView │ ├── PieChartView.h │ ├── PieChartView.m │ ├── RenderView.h │ ├── RenderView.m │ ├── RotatedView.h │ ├── RotatedView.m │ ├── center.png │ ├── select.png │ └── shadow.png │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── ProgressBar ├── ProgressBar.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── ProgressBar │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── README.md ├── ReadHealthSteps ├── ReadHealthSteps.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── ReadHealthSteps │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── HKQuantityTypeIdentifier.m │ ├── Info.plist │ ├── ReadHealthSteps.entitlements │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── SFTextField ├── .DS_Store ├── Default-568h@2x.png ├── SFTextField.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── SFTextField │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── SFTextField.h │ ├── SFTextField.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── StarEvaluateAndShow ├── .DS_Store ├── StarEvaluateAndShow.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── StarEvaluateAndShow │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ ├── .DS_Store │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── ic_evaluate_nor.imageset │ │ │ ├── .DS_Store │ │ │ ├── Contents.json │ │ │ ├── ic_evaluate_nor.png │ │ │ ├── ic_evaluate_nor@2x.png │ │ │ └── ic_evaluate_nor@3x.png │ │ ├── ic_evaluate_press.imageset │ │ │ ├── Contents.json │ │ │ ├── ic_evaluate_press.png │ │ │ ├── ic_evaluate_press@2x.png │ │ │ └── ic_evaluate_press@3x.png │ │ ├── ic_evaluateall-1.imageset │ │ │ ├── Contents.json │ │ │ ├── ic_evaluateall.png │ │ │ ├── ic_evaluateall@2x.png │ │ │ └── ic_evaluateall@3x.png │ │ ├── ic_evaluateall.imageset │ │ │ ├── Contents.json │ │ │ ├── ic_evaluateall.png │ │ │ ├── ic_evaluateall@2x.png │ │ │ └── ic_evaluateall@3x.png │ │ ├── iconfont-banxing-1.imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-banxing.png │ │ ├── iconfont-banxing.imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-banxing.png │ │ ├── iconfont-xing-1.imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-xing.png │ │ ├── iconfont-xing.imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-xing.png │ │ ├── iconfont-xing@2x .imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-xing@2x .png │ │ ├── iconfont-xingunselected-1.imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-xingunselected.png │ │ ├── iconfont-xingunselected.imageset │ │ │ ├── Contents.json │ │ │ └── iconfont-xingunselected@2x.png │ │ ├── iconpng.imageset │ │ │ ├── Contents.json │ │ │ └── iconpng.png │ │ ├── ratingbar_selected.imageset │ │ │ ├── Contents.json │ │ │ └── ratingbar_selected@2x.png │ │ └── ratingbar_unselected.imageset │ │ │ ├── Contents.json │ │ │ └── ratingbar_unselected@2x.png │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── JumpViewController.h │ ├── JumpViewController.m │ ├── Resourse │ │ ├── RatingBar.h │ │ ├── RatingBar.m │ │ ├── StarView.h │ │ ├── StarView.m │ │ └── StartEvaluateAndShow.h │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── StarEvaluateAndShowTests │ ├── Info.plist │ └── StarEvaluateAndShowTests.m └── StarEvaluateAndShowUITests │ ├── Info.plist │ └── StarEvaluateAndShowUITests.m ├── TableViewSearchHighlight ├── SearchHelight.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── SearchHelight │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── TableViewSlideMultiButton ├── .DS_Store ├── TableViewSlideMultiButton.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── TableViewSlideMultiButton │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── TouchID ├── TouchID.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── TouchID │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 仿头条新闻滑动效果 ├── .DS_Store ├── 仿头条新闻滑动效果.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── 仿头条新闻滑动效果 │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ ├── FifthTableViewController.h │ ├── FifthTableViewController.m │ ├── FirstTableViewController.h │ ├── FirstTableViewController.m │ ├── FourthTableViewController.h │ ├── FourthTableViewController.m │ ├── Info.plist │ ├── MainViewController.h │ ├── MainViewController.m │ ├── SFPackageViewController.h │ ├── SFPackageViewController.m │ ├── SecondTableViewController.h │ ├── SecondTableViewController.m │ ├── SixthTableViewController.h │ ├── SixthTableViewController.m │ ├── ThirdTableViewController.h │ ├── ThirdTableViewController.m │ └── main.m ├── 仿头条新闻滑动效果Tests │ ├── Info.plist │ └── _________Tests.m └── 仿头条新闻滑动效果UITests │ ├── Info.plist │ └── _________UITests.m └── 自带视频播放器 ├── .DS_Store ├── 自带视频播放器.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata └── 自带视频播放器 ├── 2.mp4 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets └── AppIcon.appiconset │ └── Contents.json ├── Base.lproj ├── LaunchScreen.storyboard └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xcuserstate 23 | 24 | ## Obj-C/Swift specific 25 | *.hmap 26 | *.ipa 27 | *.dSYM.zip 28 | *.dSYM 29 | 30 | # CocoaPods 31 | # 32 | # We recommend against adding the Pods directory to your .gitignore. However 33 | # you should judge for yourself, the pros and cons are mentioned at: 34 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 35 | # 36 | # Pods/ 37 | 38 | # Carthage 39 | # 40 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 41 | # Carthage/Checkouts 42 | 43 | Carthage/Build 44 | 45 | # fastlane 46 | # 47 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 48 | # screenshots whenever they are needed. 49 | # For more information about the recommended setup visit: 50 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 51 | 52 | fastlane/report.xml 53 | fastlane/screenshots 54 | 55 | #Code Injection 56 | # 57 | # After new code Injection tools there's a generated folder /iOSInjectionProject 58 | # https://github.com/johnno1962/injectionforxcode 59 | 60 | iOSInjectionProject/ 61 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Algorithm 4 | // 5 | // Created by ShaoFeng on 2016/12/20. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/Sort.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sort.h 3 | // Algorithm 4 | // 5 | // Created by ShaoFeng on 2016/12/20. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface Sort : NSObject 12 | 13 | /** 14 | 快速排序 15 | 16 | @param mArray 被排序的数组 17 | @param left 第一个元素 18 | @param right 最后一个元素 19 | */ 20 | - (void)quickSort:(NSMutableArray *)mArray leftIndex:(int )left rightIndex:(int )right; 21 | 22 | /** 23 | 冒泡排序 24 | */ 25 | - (void)bubbleSort:(NSMutableArray *)mArray; 26 | 27 | /** 28 | 选择排序 29 | */ 30 | - (void)selectSort:(NSMutableArray *)mArray; 31 | 32 | /** 33 | 直接插入排序 34 | */ 35 | - (void)insertSort:(NSMutableArray *)mArray; 36 | 37 | /** 38 | 二分插入排序 39 | */ 40 | -(void)binaryInsertSort:(NSMutableArray *)mArray; 41 | 42 | /** 43 | 希尔排序 44 | */ 45 | -(void)shellSort:(NSMutableArray *)mArray; 46 | 47 | /* 48 | 堆排序 49 | */ 50 | - (void)heapSort:(NSMutableArray *)mArray isAsc:(BOOL)isAsc; 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Algorithm 4 | // 5 | // Created by ShaoFeng on 2016/12/20. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // Algorithm 4 | // 5 | // Created by ShaoFeng on 2016/12/20. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "Sort.h" 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | Sort *sort = [[Sort alloc] init]; 21 | 22 | NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@6,@5,@8,@1,@9,@8,@45,@89,@97,@156,@789,@-5,@84,@262,@-658,@256,@963, nil]; 23 | 24 | NSLog(@"排序前:%@",mArray); 25 | 26 | //快速排序 27 | //[sort quickSort:mArray leftIndex:0 rightIndex:(int)mArray.count - 1]; 28 | 29 | //冒泡排序 30 | //[sort bubbleSort:mArray]; 31 | 32 | //选择排序 33 | //[sort selectSort:mArray]; 34 | 35 | //直接插入排序 36 | //[sort insertSort:mArray]; 37 | 38 | //二分插入排序 39 | //[sort binaryInsertSort:mArray]; 40 | 41 | //希尔排序 42 | //[sort shellSort:mArray]; 43 | 44 | //堆排序 45 | [sort heapSort:mArray isAsc:YES]; 46 | NSLog(@"排序后:%@",mArray); 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Algorithm(算法)/Algorithm/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Algorithm 4 | // 5 | // Created by ShaoFeng on 2016/12/20. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSCameraUsageDescription 6 | 访问相机 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_bg_line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_bg_line@2x.png -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangdownleft@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangdownleft@2x.png -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangdownright@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangdownright@2x.png -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangupperleft@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangupperleft@2x.png -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangupperright@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AlipayScanQRCode/AlipayScanQRCode/Resources/sweep_kuangupperright@2x.png -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/ScanCodeController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ScanCodeController.h 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ScanCodeController : UIViewController 12 | //Deprecated: Push segues are deprecated since iOS 8.0 13 | //在Storyboard中界面跳转方式改为Show 14 | @end 15 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/UIView+extension.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+extension.h 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (extension) 12 | 13 | @property (nonatomic, assign) CGFloat height; 14 | @property (nonatomic, assign) CGFloat width; 15 | @property (nonatomic, assign) CGFloat y; 16 | @property (nonatomic, assign) CGFloat x; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/UIView+extension.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+extension.h 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import "UIView+extension.h" 10 | 11 | @implementation UIView (xtension) 12 | 13 | - (CGFloat)height 14 | { 15 | return self.frame.size.height; 16 | } 17 | 18 | - (void)setHeight:(CGFloat)height 19 | { 20 | CGRect temp = self.frame; 21 | temp.size.height = height; 22 | self.frame = temp; 23 | } 24 | 25 | - (CGFloat)width 26 | { 27 | return self.frame.size.width; 28 | } 29 | 30 | - (void)setWidth:(CGFloat)width 31 | { 32 | CGRect temp = self.frame; 33 | temp.size.width = width; 34 | self.frame = temp; 35 | } 36 | 37 | - (CGFloat)y 38 | { 39 | return self.frame.origin.y; 40 | } 41 | 42 | - (void)setY:(CGFloat)y 43 | { 44 | CGRect temp = self.frame; 45 | temp.origin.y = y; 46 | self.frame = temp; 47 | } 48 | 49 | - (CGFloat)x 50 | { 51 | return self.frame.origin.x; 52 | } 53 | 54 | - (void)setX:(CGFloat)x 55 | { 56 | CGRect temp = self.frame; 57 | temp.origin.x = x; 58 | self.frame = temp; 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /AlipayScanQRCode/AlipayScanQRCode/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AlipayScanQRCode 4 | // 5 | // Created by ShaoFeng on 2017/2/15. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AssistiveTouchDemo/.DS_Store -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AssistiveTouchDemo/AssistiveTouchDemo/.DS_Store -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AssistiveTouchDemo 4 | // 5 | // Created by ShaoFeng on 2016/11/8. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/Assets.xcassets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AssistiveTouchDemo/AssistiveTouchDemo/Assets.xcassets/.DS_Store -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/AssistiveTouch.h: -------------------------------------------------------------------------------- 1 | // 2 | // AssistiveTouch.h 3 | // AssistiveTouchDemo 4 | // 5 | // Created by ShaoFeng on 2016/11/8. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AssistiveTouch : UIWindow 12 | @property (nonatomic,strong)UIButton *button; 13 | - (instancetype)initWithFrame:(CGRect)frame; 14 | @end 15 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AssistiveTouchDemo 4 | // 5 | // Created by ShaoFeng on 2016/11/8. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // AssistiveTouchDemo 4 | // 5 | // Created by ShaoFeng on 2016/11/8. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | @property(strong,nonatomic)UIWindow *window; 13 | @property(strong,nonatomic)UIButton *button; 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | } 21 | 22 | - (void)viewWillAppear:(BOOL)animated 23 | { 24 | [super viewWillAppear:animated]; 25 | [self.window addSubview:self.button]; 26 | [self.window makeKeyAndVisible]; 27 | } 28 | 29 | - (void)viewWillDisappear:(BOOL)animated 30 | { 31 | [super viewWillDisappear:animated]; 32 | [self.window resignKeyWindow]; 33 | self.window = nil; 34 | } 35 | 36 | - (UIWindow *)window 37 | { 38 | if (!_window) { 39 | _window = [[UIWindow alloc] initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width - 80, [UIScreen mainScreen].bounds.size.height - 80 - 50, 60, 60)]; 40 | _window.windowLevel = UIWindowLevelAlert + 1; 41 | } 42 | return _window; 43 | } 44 | 45 | - (UIButton *)button 46 | { 47 | if (!_button) { 48 | _button = [UIButton buttonWithType:UIButtonTypeCustom]; 49 | _button.frame = CGRectMake(0, 0, 60, 60); 50 | [_button addTarget:self action:@selector(sendCircle) forControlEvents:UIControlEventTouchUpInside]; 51 | _button.backgroundColor = [UIColor greenColor]; 52 | _button.layer.cornerRadius = 30; 53 | _button.layer.masksToBounds = YES; 54 | } 55 | return _button; 56 | } 57 | 58 | - (void)sendCircle 59 | { 60 | NSLog(@"当前界面有效"); 61 | } 62 | 63 | @end 64 | -------------------------------------------------------------------------------- /AssistiveTouchDemo/AssistiveTouchDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AssistiveTouchDemo 4 | // 5 | // Created by ShaoFeng on 2016/11/8. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AudioDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/19. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSMicrophoneUsageDescription 6 | audio 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AudioDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/19. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AudioDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/19. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AudioDemo/AudioDemo/recording.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/AudioDemo/AudioDemo/recording.png -------------------------------------------------------------------------------- /Autograph/Autograph.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Autograph/Autograph/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Autograph 4 | // 5 | // Created by ShaoFeng on 2017/6/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Autograph/Autograph/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Autograph/Autograph/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Autograph/Autograph/SignViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SignViewController.h 3 | // Autograph 4 | // 5 | // Created by ShaoFeng on 2017/6/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SignViewController : UIViewController 12 | @property (weak, nonatomic) IBOutlet UIImageView *imageView; 13 | @property (nonatomic,strong)UIImage *image; 14 | @end 15 | -------------------------------------------------------------------------------- /Autograph/Autograph/SignViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SignViewController.m 3 | // Autograph 4 | // 5 | // Created by ShaoFeng on 2017/6/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import "SignViewController.h" 10 | 11 | @interface SignViewController () 12 | 13 | @end 14 | 15 | @implementation SignViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.imageView.image = self.image; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Autograph/Autograph/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Autograph 4 | // 5 | // Created by ShaoFeng on 2017/6/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Autograph/Autograph/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Autograph 4 | // 5 | // Created by ShaoFeng on 2017/6/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /DB&&事务/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/DB&&事务/.DS_Store -------------------------------------------------------------------------------- /DB&&事务/DB.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DB&&事务/DB/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // DB 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /DB&&事务/DB/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /DB&&事务/DB/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /DB&&事务/DB/FMDB/FMDB.h: -------------------------------------------------------------------------------- 1 | #import "FMDatabase.h" 2 | #import "FMResultSet.h" 3 | #import "FMDatabaseAdditions.h" 4 | #import "FMDatabaseQueue.h" 5 | #import "FMDatabasePool.h" 6 | -------------------------------------------------------------------------------- /DB&&事务/DB/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /DB&&事务/DB/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // DB 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /DB&&事务/DB/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // DB 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /DB&&事务/DBTests/DBTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // DBTests.m 3 | // DBTests 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DBTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation DBTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /DB&&事务/DBTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /DB&&事务/DBUITests/DBUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // DBUITests.m 3 | // DBUITests 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DBUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation DBUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /DB&&事务/DBUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /DB/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/DB/.DS_Store -------------------------------------------------------------------------------- /DB/DB.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DB/DB/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // DB 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /DB/DB/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /DB/DB/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /DB/DB/FMDB/FMDB.h: -------------------------------------------------------------------------------- 1 | #import "FMDatabase.h" 2 | #import "FMResultSet.h" 3 | #import "FMDatabaseAdditions.h" 4 | #import "FMDatabaseQueue.h" 5 | #import "FMDatabasePool.h" 6 | -------------------------------------------------------------------------------- /DB/DB/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /DB/DB/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // DB 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /DB/DB/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // DB 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /DB/DBTests/DBTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // DBTests.m 3 | // DBTests 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DBTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation DBTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /DB/DBTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /DB/DBUITests/DBUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // DBUITests.m 3 | // DBUITests 4 | // 5 | // Created by ShaoFeng on 16/7/8. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DBUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation DBUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /DB/DBUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /FoldTableView/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/.DS_Store -------------------------------------------------------------------------------- /FoldTableView/FoldTableView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/.DS_Store -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/Assets.xcassets/.DS_Store -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/AppIcon.appiconset/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/Assets.xcassets/AppIcon.appiconset/.DS_Store -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/.DS_Store -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "brand_expand@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "brand_expand@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/brand_expand@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/brand_expand@2x.png -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/brand_expand@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/Assets.xcassets/expanded.imageset/brand_expand@3x.png -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Models/CellModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // CellModel.h 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface CellModel : NSObject 12 | @property (nonatomic,copy)NSString *cellTitle; 13 | @end 14 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Models/CellModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // CellModel.m 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "CellModel.h" 10 | 11 | @implementation CellModel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Models/SectionModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // SectionModel.h 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SectionModel : NSObject 12 | @property (nonatomic,copy)NSString *sectionTitle; 13 | @property (nonatomic,strong)NSMutableArray *cellModels; 14 | @property (nonatomic,assign)BOOL isExpanded; 15 | @end 16 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Models/SectionModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // SectionModel.m 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "SectionModel.h" 10 | 11 | @implementation SectionModel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Views/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/FoldTableView/FoldTableView/Views/.DS_Store -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Views/HeaderView.h: -------------------------------------------------------------------------------- 1 | // 2 | // HeaderView.h 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "SectionModel.h" 11 | 12 | typedef void (^HeaderViewClickCallBack)(BOOL isExpanded); 13 | 14 | @interface HeaderView : UITableViewHeaderFooterView 15 | @property (nonatomic,strong)SectionModel *sectionModel; 16 | @property (nonatomic,copy)HeaderViewClickCallBack expandCallBack; 17 | @end 18 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Views/TableViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewCell.h 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CellModel.h" 11 | @interface TableViewCell : UITableViewCell 12 | 13 | @property (nonatomic,strong)CellModel *cellModel; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/Views/TableViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewCell.m 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "TableViewCell.h" 10 | 11 | @implementation TableViewCell 12 | 13 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier\ 14 | { 15 | if(self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { 16 | 17 | } 18 | return self; 19 | } 20 | 21 | - (void)setCellModel:(CellModel *)cellModel 22 | { 23 | _cellModel = cellModel; 24 | self.textLabel.text = cellModel.cellTitle; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /FoldTableView/FoldTableView/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // FoldTableView 4 | // 5 | // Created by ShaoFeng on 16/7/29. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // JSPatchDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/6. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIRequiredDeviceCapabilities 26 | 27 | armv7 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // JSPatchDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/6. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // JSPatchDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/6. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "JPEngine.h" 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.view.backgroundColor = [UIColor whiteColor]; 20 | [JPEngine startEngine]; 21 | // NSString *path = @"/Users/cocav/Desktop/test.js"; 22 | NSString *path =[[NSBundle mainBundle] pathForResource:@"test" ofType:@"js"]; 23 | NSString *script = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; 24 | [JPEngine evaluateScript:script]; 25 | 26 | self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(rightButtonItemClick)]; 27 | } 28 | 29 | - (void)rightButtonItemClick 30 | { 31 | 32 | } 33 | 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // JSPatchDemo 4 | // 5 | // Created by ShaoFeng on 2016/12/6. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /JSPatchDemo/JSPatchDemo/test.js: -------------------------------------------------------------------------------- 1 | defineClass('ViewController', { 2 | rightButtonItemClick() { 3 | var tableViewCtrl = TableViewController.alloc().init() 4 | self.navigationController().pushViewController_animated(tableViewCtrl, YES) 5 | tableViewCtrl.setTitle("JS创建的控制器"); 6 | } 7 | }) 8 | 9 | defineClass('TableViewController : UITableViewController ', ['data'], { 10 | dataSource: function() { 11 | var data = self.data(); 12 | if (data) return data; 13 | var data = []; 14 | for (var i = 0; i < 30; i ++) { 15 | data.push("第" + (i + 1) + "行"); 16 | } 17 | self.setData(data) 18 | return data; 19 | }, 20 | numberOfSectionsInTableView: function(tableView) { 21 | return 1; 22 | }, 23 | tableView_numberOfRowsInSection: function(tableView, section) { 24 | return self.dataSource().length; 25 | }, 26 | tableView_cellForRowAtIndexPath: function(tableView, indexPath) { 27 | var cell = tableView.dequeueReusableCellWithIdentifier("cell") 28 | if (!cell) { 29 | cell = require('UITableViewCell').alloc().initWithStyle_reuseIdentifier(0, "cell") 30 | } 31 | cell.textLabel().setText(self.dataSource()[indexPath.row()]) 32 | return cell 33 | }, 34 | tableView_heightForRowAtIndexPath: function(tableView, indexPath) { 35 | return 60 36 | }, 37 | tableView_didSelectRowAtIndexPath: function(tableView, indexPath) { 38 | var alertView = require('UIAlertView').alloc().initWithTitle_message_delegate_cancelButtonTitle_otherButtonTitles("点击了",self.dataSource()[indexPath.row()], self, "OK", null); 39 | alertView.show() 40 | }, 41 | alertView_willDismissWithButtonIndex: function(alertView, idx) { 42 | console.log('click btn ' + alertView.buttonTitleAtIndex(idx).toJS()) 43 | } 44 | }) 45 | -------------------------------------------------------------------------------- /MultiLanguage/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/MultiLanguage/.DS_Store -------------------------------------------------------------------------------- /MultiLanguage/InternationalControl.h: -------------------------------------------------------------------------------- 1 | // 2 | // internationalControl.h 3 | // MultiLanguage 4 | // 5 | // Created by ShaoFeng on 16/8/9. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface InternationalControl : NSObject 12 | 13 | +(NSBundle *)bundle;//获取当前资源文件 14 | +(void)initUserLanguage;//初始化语言文件 15 | +(NSString *)userLanguage;//获取应用当前语言 16 | +(void)setUserlanguage:(NSString *)language;//设置当前语言 17 | 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /MultiLanguage/InternationalControl.m: -------------------------------------------------------------------------------- 1 | // 2 | // internationalControl.m 3 | // MultiLanguage 4 | // 5 | // Created by ShaoFeng on 16/8/9. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "InternationalControl.h" 10 | 11 | @implementation InternationalControl 12 | 13 | 14 | //创建静态变量bundle,以及获取方法bundle(注:此处不要使用getBundle)。 15 | static NSBundle *bundle = nil; 16 | +(NSBundle *)bundle{ 17 | return bundle; 18 | } 19 | 20 | //初始化方法: userLanguage储存在NSUserDefaults中,首次加载时要检测是否存在,如果不存在的话读AppleLanguages,并赋值给userLanguage。 21 | 22 | +(void)initUserLanguage{ 23 | NSUserDefaults *def = [NSUserDefaults standardUserDefaults]; 24 | NSString *string = [def valueForKey:@"userLanguage"]; 25 | if(string.length == 0){ 26 | //获取系统当前语言版本(中文zh-Hans,英文en) 27 | NSArray* languages = [def objectForKey:@"AppleLanguages"]; 28 | NSString *current = [languages objectAtIndex:0]; 29 | string = current; 30 | [def setValue:current forKey:@"userLanguage"]; 31 | [def synchronize];//持久化,不加的话不会保存 32 | } 33 | //获取文件路径 34 | NSString *path = [[NSBundle mainBundle] pathForResource:string ofType:@"lproj"]; 35 | bundle = [NSBundle bundleWithPath:path];//生成bundle 36 | } 37 | 38 | //获得当前语言方法 39 | +(NSString *)userLanguage{ 40 | NSUserDefaults *def = [NSUserDefaults standardUserDefaults]; 41 | NSString *language = [def valueForKey:@"userLanguage"]; 42 | return language; 43 | } 44 | 45 | //设置语言方法 46 | +(void)setUserlanguage:(NSString *)language{ 47 | NSUserDefaults *def = [NSUserDefaults standardUserDefaults]; 48 | //1.第一步改变bundle的值 49 | NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj" ]; 50 | bundle = [NSBundle bundleWithPath:path]; 51 | //2.持久化 52 | [def setValue:language forKey:@"userLanguage"]; 53 | [def synchronize]; 54 | } 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // MultiLanguage 4 | // 5 | // Created by ShaoFeng on 16/8/4. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /* 12 | * 获取当前保存在NSUserDefaults的本地语言 13 | */ 14 | #define currentLanguage [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"appLanguage"]] 15 | 16 | /* 17 | * 根据获取语言文件所在路径 18 | * 文件名类型Type为lproj,即.lproj的文件夹。 zh-Hans.lproj和en.lproj 19 | * 存在NSUserDefaults的适合,中英文就分别设置为zh-Hans和en,不可改变。 20 | */ 21 | #define LanguagePath [[NSBundle mainBundle] pathForResource:currentLanguage ofType:@"lproj"] 22 | 23 | /* 24 | * 根据键值获取返回转换结果 25 | */ 26 | #define Localized(key) [[NSBundle bundleWithPath:LanguagePath] localizedStringForKey:(key) value:nil table:@"Localizable"] //table为语言文件名Language.strings 27 | 28 | 29 | @interface AppDelegate : UIResponder 30 | 31 | @property (strong, nonatomic) UIWindow *window; 32 | 33 | 34 | @end 35 | 36 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LSHasLocalizedDisplayName 6 | 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSRequiresIPhoneOS 26 | 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationLandscapeLeft 39 | UIInterfaceOrientationLandscapeRight 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/LanguageManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // LanguageManager.h 3 | // MultiLanguage 4 | // 5 | // Created by ShaoFeng on 16/8/9. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LanguageManager : NSObject 12 | 13 | 14 | @property (nonatomic,strong)NSString *currentLanguage; 15 | @property (nonatomic,strong)NSBundle *languageBundle; 16 | 17 | - (void *)initUserLanguage; 18 | +(LanguageManager *)shareInstance; 19 | 20 | //- (void)getCurrentLanguage; 21 | //- (void)getAllLanguage; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // MultiLanguage 4 | // 5 | // Created by ShaoFeng on 16/8/4. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 为APP名称和内部控件提供多语言支持 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | MultiLanguage 4 | 5 | Created by ShaoFeng on 16/8/4. 6 | Copyright © 2016年 Cocav. All rights reserved. 7 | */ 8 | "CFBundleDisplayName" = "MultiLanguage"; -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // MultiLanguage 4 | // 5 | // Created by ShaoFeng on 16/8/4. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/zh-Hans.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleDisplayName" = "多语言"; -------------------------------------------------------------------------------- /MultiLanguage/MultiLanguage/zh-Hant.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | "CFBundleDisplayName" = "多語言"; -------------------------------------------------------------------------------- /MultiLanguage/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | MultiLanguage 4 | 5 | Created by ShaoFeng on 16/8/4. 6 | Copyright © 2016年 Cocav. All rights reserved. 7 | */ 8 | "huawei"="huawei"; 9 | "apple"="apple"; -------------------------------------------------------------------------------- /MultiLanguage/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | MultiLanguage 4 | 5 | Created by ShaoFeng on 16/8/4. 6 | Copyright © 2016年 Cocav. All rights reserved. 7 | */ 8 | "huawei"="华为"; 9 | "apple"="苹果"; -------------------------------------------------------------------------------- /MultiLanguage/zh-Hant.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | MultiLanguage 4 | 5 | Created by ShaoFeng on 16/8/4. 6 | Copyright © 2016年 Cocav. All rights reserved. 7 | */ 8 | "huawei"="華為"; 9 | "apple"="蘋果"; -------------------------------------------------------------------------------- /Objective-C.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xccheckout 23 | *.xcscmblueprint 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | # CocoaPods 32 | # 33 | # We recommend against adding the Pods directory to your .gitignore. However 34 | # you should judge for yourself, the pros and cons are mentioned at: 35 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 36 | # 37 | # Pods/ 38 | 39 | # Carthage 40 | # 41 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 42 | # Carthage/Checkouts 43 | 44 | Carthage/Build 45 | 46 | # fastlane 47 | # 48 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 49 | # screenshots whenever they are needed. 50 | # For more information about the recommended setup visit: 51 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 52 | 53 | fastlane/report.xml 54 | fastlane/Preview.html 55 | fastlane/screenshots 56 | fastlane/test_output 57 | 58 | # Code Injection 59 | # 60 | # After new code Injection tools there's a generated folder /iOSInjectionProject 61 | # https://github.com/johnno1962/injectionforxcode 62 | 63 | iOSInjectionProject/ 64 | -------------------------------------------------------------------------------- /PieChart/PieChart.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PieChart/PieChart/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // PieChart 4 | // 5 | // Created by ShaoFeng on 2017/12/22. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PieChart/PieChart/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 | -------------------------------------------------------------------------------- /PieChart/PieChart/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /PieChart/PieChart/ChartView/PieChartView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PieChartView.h 3 | // Statements 4 | // 5 | // Created by Moncter8 on 13-5-30. 6 | // Copyright (c) 2013年 Moncter8. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "RotatedView.h" 11 | @class PieChartView; 12 | @protocol PieChartDelegate 13 | @optional 14 | - (void)selectedFinish:(PieChartView *)pieChartView index:(NSInteger)index percent:(float)per; 15 | - (void)onCenterClick:(PieChartView *)PieChartView; 16 | @end 17 | 18 | @interface PieChartView : UIView 19 | @property(nonatomic, weak) id delegate; 20 | - (id)initWithFrame:(CGRect)frame withValue:(NSMutableArray *)valueArr withColor:(NSMutableArray *)colorArr; 21 | - (void)reloadChart; 22 | - (void)setAmountText:(NSString *)text; 23 | - (void)setTitleText:(NSString *)text; 24 | @end 25 | -------------------------------------------------------------------------------- /PieChart/PieChart/ChartView/RotatedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // RotatedView.h 3 | // Statements RotatedView 4 | // 5 | // Created by Moncter8 on 13-5-30. 6 | // Copyright (c) 2013年 Moncter8. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import 12 | #import "RenderView.h" 13 | 14 | @class RotatedView; 15 | @protocol RotatedViewDelegate 16 | @optional 17 | - (void)selectedFinish:(RotatedView *)rotatedView index:(NSInteger)index percent:(float)per; 18 | @end 19 | 20 | @interface RotatedView : UIView { 21 | float mZeroAngle; 22 | NSMutableArray *mValueArray; 23 | NSMutableArray *mColorArray; 24 | NSMutableArray *mThetaArray; 25 | 26 | BOOL isAnimating; 27 | BOOL isTapStopped; 28 | BOOL isAutoRotation; 29 | float mAbsoluteTheta; 30 | float mRelativeTheta; 31 | UITextView *mInfoTextView; 32 | 33 | float mDragSpeed; 34 | NSDate *mDragBeforeDate; 35 | float mDragBeforeTheta; 36 | NSTimer *mDecelerateTimer; 37 | } 38 | @property(nonatomic, assign) id delegate; 39 | @property (nonatomic)float fracValue; 40 | @property (nonatomic) float mZeroAngle; 41 | @property (nonatomic) BOOL isAutoRotation; 42 | @property (nonatomic, retain) NSMutableArray *mValueArray; 43 | @property (nonatomic, retain) NSMutableArray *mColorArray; 44 | @property (nonatomic, retain) UITextView *mInfoTextView; 45 | 46 | - (void)startedAnimate; 47 | - (void)reloadPie; 48 | @end 49 | -------------------------------------------------------------------------------- /PieChart/PieChart/ChartView/center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/PieChart/PieChart/ChartView/center.png -------------------------------------------------------------------------------- /PieChart/PieChart/ChartView/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/PieChart/PieChart/ChartView/select.png -------------------------------------------------------------------------------- /PieChart/PieChart/ChartView/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/PieChart/PieChart/ChartView/shadow.png -------------------------------------------------------------------------------- /PieChart/PieChart/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /PieChart/PieChart/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // PieChart 4 | // 5 | // Created by ShaoFeng on 2017/12/22. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /PieChart/PieChart/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // PieChart 4 | // 5 | // Created by ShaoFeng on 2017/12/22. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ProgressBar 4 | // 5 | // Created by ShaoFeng on 2016/11/30. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ProgressBar 4 | // 5 | // Created by ShaoFeng on 2016/11/30. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // ProgressBar 4 | // 5 | // Created by ShaoFeng on 2016/11/30. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // //http://www.cnblogs.com/wendingding/p/3801036.html 8 | // //http://www.jianshu.com/p/02c341c748f9 9 | // //http://www.jianshu.com/p/734b34e82135 10 | 11 | #import "ViewController.h" 12 | 13 | @interface ViewController () 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | } 21 | 22 | - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 23 | { 24 | CAShapeLayer *shapeLayer = [CAShapeLayer layer]; 25 | UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.view.center.x - 10, self.view.center.y - 10) radius:20 startAngle:-0.5 * M_PI endAngle:1.5 * M_PI clockwise:YES]; //设置起点/终点/半径/中心 26 | shapeLayer.path = path.CGPath; 27 | shapeLayer.fillColor = [UIColor clearColor].CGColor; //空心区域显示的颜色 28 | shapeLayer.lineWidth = 2.0f; 29 | shapeLayer.strokeColor = [UIColor redColor].CGColor; //进度圈的颜色 30 | [self.view.layer addSublayer:shapeLayer]; 31 | CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; 32 | pathAnimation.duration = 3.0f; 33 | pathAnimation.speed = 2.0f; //加载速度 34 | //pathAnimation.repeatCount = 5; //重复的次数 35 | pathAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; //先快后慢,先慢后快... 36 | pathAnimation.fromValue = [NSNumber numberWithFloat:0]; //起始位置 37 | pathAnimation.toValue = [NSNumber numberWithFloat:1]; //终点位置 38 | pathAnimation.fillMode = kCAFillModeForwards; 39 | pathAnimation.removedOnCompletion = NO; 40 | [shapeLayer addAnimation:pathAnimation forKey:@"strokeEndAnimation"]; 41 | } 42 | 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /ProgressBar/ProgressBar/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ProgressBar 4 | // 5 | // Created by ShaoFeng on 2016/11/30. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 博客地址:http://blog.csdn.net/feng2qing 2 | --- 3 | # DEMO截图,会一直更新... 4 | ## SFTextField: 5 | ## ![Mou icon](http://g.recordit.co/G9tZ942Z3Z.gif) 6 | 7 | # 8 | 9 | ## StarEvaluateAndShow,淘宝评价效果 10 | ## ![Mou icon](http://g.recordit.co/BlBxvnRKN1.gif) 11 | 12 | # 13 | 14 | ## 仿头条新闻滑动效果 15 | ## ![效果图](http://g.recordit.co/atDBaJBUmQ.gif) 16 | 17 | # 18 | 19 | ## TableViewSlideMultiButton,QQ聊天列表页 20 | ## ![效果图](http://g.recordit.co/oDJjUKuiD8.gif) 21 | 22 | # 23 | 24 | ## FoldTableView,类似QQ可折叠可展开的效果 25 | ## ![效果图](http://g.recordit.co/u4qHqoRQRR.gif) 26 | 27 | 28 | # 29 | 30 | ## ProgressBar,自绘进度条 31 | ## ![效果图](http://g.recordit.co/WxEr0TNu8d.gif) 32 | 33 | # 34 | 35 | ## AssistiveTouchDemo,iPhone AssisTiveTouch 36 | ## ![效果图](http://g.recordit.co/4BdzxEi5lh.gif) 37 | 38 | 39 | # 40 | 41 | ## 自带视频播放器,自带视频播放器 42 | ## ![效果图](http://g.recordit.co/9R2Aiv7iid.gif) 43 | 44 | # 45 | 46 | ## MultiLanguage,iPhone多语言 47 | ## ![效果图](http://g.recordit.co/wqjC90zKCI.gif) 48 | 49 | # 50 | 51 | ## AudioDemo,iOS开发音频录制与播放,自制录制效果(非图片,比图片效率高) 52 | ## ![效果图](http://g.recordit.co/HL36vWu3ID.gif) 53 | 54 | # 55 | 56 | ## TableViewVew搜索高亮显示 57 | ## ![效果图](http://g.recordit.co/Fq3m5PI4wE.gif) 58 | 59 | # 60 | 61 | ## ReadHealthSteps读取健康步数 62 | ## ![效果图](http://g.recordit.co/LvsPFn9UeE.gif) 63 | 64 | # 65 | 66 | ## Touch ID指纹解锁 67 | ## ![效果图](http://g.recordit.co/zkisGNY6Tz.gif) 68 | 69 | # 70 | 71 | ## AlipayScanQRCode 仿支付宝二维码扫描效果 72 | ## ![效果图](http://g.recordit.co/vVSYycCDMd.gif) 73 | 74 | # 75 | 76 | ## Autograph 电子签名生成图片 77 | ## ![效果图](http://g.recordit.co/V7jnKVOvDt.gif) 78 | 79 | # 80 | 81 | ## PieChart 饼图 82 | ## ![效果图](http://g.recordit.co/2jsZk9DqWp.gif) -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ReadHealthSteps 4 | // 5 | // Created by ShaoFeng on 2017/2/8. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSHealthShareUsageDescription 24 | 获取健康数据 25 | NSHealthUpdateUsageDescription 26 | 获取健康数据 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | healthkit 35 | 36 | UISupportedInterfaceOrientations 37 | 38 | UIInterfaceOrientationPortrait 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps/ReadHealthSteps.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.developer.healthkit 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ReadHealthSteps 4 | // 5 | // Created by ShaoFeng on 2017/2/8. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ReadHealthSteps/ReadHealthSteps/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ReadHealthSteps 4 | // 5 | // Created by ShaoFeng on 2017/2/8. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SFTextField/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/SFTextField/.DS_Store -------------------------------------------------------------------------------- /SFTextField/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/SFTextField/Default-568h@2x.png -------------------------------------------------------------------------------- /SFTextField/SFTextField.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/SFTextField/SFTextField/.DS_Store -------------------------------------------------------------------------------- /SFTextField/SFTextField/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // FS_TextField 4 | // 5 | // Created by ShaoFeng on 16/6/16. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "83.5x83.5", 66 | "scale" : "2x" 67 | } 68 | ], 69 | "info" : { 70 | "version" : 1, 71 | "author" : "xcode" 72 | } 73 | } -------------------------------------------------------------------------------- /SFTextField/SFTextField/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/SFTextField.h: -------------------------------------------------------------------------------- 1 | // 2 | // DKTextField.h 3 | // DKTextField 4 | // 5 | // Created by ShaoFeng on 16/6/16. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SFTextField : UITextField 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SFTextField 4 | // 5 | // Created by ShaoFeng on 16/6/16. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // SFTextField 4 | // 5 | // Created by ShaoFeng on 16/6/16. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "SFTextField.h" 11 | @interface ViewController () 12 | @property (nonatomic,strong)SFTextField *textField; 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | self.textField = [[SFTextField alloc] initWithFrame:CGRectMake(10, 50, 300, 30)]; 21 | self.textField.layer.borderWidth = 1.0; 22 | self.textField.layer.cornerRadius = 3.0; 23 | self.textField.layer.masksToBounds = YES; 24 | [self.view addSubview:self.textField]; 25 | 26 | UISwitch *swich = [[UISwitch alloc] initWithFrame:CGRectMake(10, 100, 10, 10)]; 27 | [swich addTarget:self action:@selector(clickSwitch:) forControlEvents:UIControlEventValueChanged]; 28 | [self.view addSubview:swich]; 29 | } 30 | 31 | - (void)clickSwitch:(UISwitch *)sender 32 | { 33 | self.textField.secureTextEntry = sender.on; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /SFTextField/SFTextField/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // FS_TextField 4 | // 5 | // Created by ShaoFeng on 16/6/16. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/.DS_Store -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/.DS_Store -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // StarEvaluateAndShow 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/.DS_Store -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "83.5x83.5", 66 | "scale" : "2x" 67 | } 68 | ], 69 | "info" : { 70 | "version" : 1, 71 | "author" : "xcode" 72 | } 73 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/.DS_Store -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_evaluate_nor.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_evaluate_nor@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_evaluate_nor@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/ic_evaluate_nor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/ic_evaluate_nor.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/ic_evaluate_nor@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/ic_evaluate_nor@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/ic_evaluate_nor@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_nor.imageset/ic_evaluate_nor@3x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_evaluate_press.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_evaluate_press@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_evaluate_press@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/ic_evaluate_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/ic_evaluate_press.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/ic_evaluate_press@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/ic_evaluate_press@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/ic_evaluate_press@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluate_press.imageset/ic_evaluate_press@3x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_evaluateall.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_evaluateall@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_evaluateall@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/ic_evaluateall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/ic_evaluateall.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/ic_evaluateall@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/ic_evaluateall@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/ic_evaluateall@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall-1.imageset/ic_evaluateall@3x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_evaluateall.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_evaluateall@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_evaluateall@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/ic_evaluateall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/ic_evaluateall.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/ic_evaluateall@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/ic_evaluateall@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/ic_evaluateall@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ic_evaluateall.imageset/ic_evaluateall@3x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-banxing-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfont-banxing.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-banxing-1.imageset/iconfont-banxing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-banxing-1.imageset/iconfont-banxing.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-banxing.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfont-banxing.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-banxing.imageset/iconfont-banxing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-banxing.imageset/iconfont-banxing.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfont-xing.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing-1.imageset/iconfont-xing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing-1.imageset/iconfont-xing.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfont-xing.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing.imageset/iconfont-xing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing.imageset/iconfont-xing.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing@2x .imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfont-xing@2x .png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing@2x .imageset/iconfont-xing@2x .png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xing@2x .imageset/iconfont-xing@2x .png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xingunselected-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconfont-xingunselected.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xingunselected-1.imageset/iconfont-xingunselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xingunselected-1.imageset/iconfont-xingunselected.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xingunselected.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconfont-xingunselected@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xingunselected.imageset/iconfont-xingunselected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconfont-xingunselected.imageset/iconfont-xingunselected@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconpng.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "iconpng.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconpng.imageset/iconpng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/iconpng.imageset/iconpng.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ratingbar_selected.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ratingbar_selected@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ratingbar_selected.imageset/ratingbar_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ratingbar_selected.imageset/ratingbar_selected@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ratingbar_unselected.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ratingbar_unselected@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ratingbar_unselected.imageset/ratingbar_unselected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/StarEvaluateAndShow/StarEvaluateAndShow/Assets.xcassets/ratingbar_unselected.imageset/ratingbar_unselected@2x.png -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/JumpViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // JumpViewController.h 3 | // StarEvaluateAndShow 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface JumpViewController : UIViewController 12 | 13 | @property (nonatomic,assign)CGFloat starNum; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/JumpViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // JumpViewController.m 3 | // StarEvaluateAndShow 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "JumpViewController.h" 10 | #import "StartEvaluateAndShow.h" 11 | 12 | @interface JumpViewController () 13 | @property (nonatomic,strong) StarView *starView; 14 | 15 | @end 16 | 17 | @implementation JumpViewController 18 | 19 | - (void)viewDidLoad 20 | { 21 | [super viewDidLoad]; 22 | self.view.backgroundColor = [UIColor whiteColor]; 23 | self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:self action:@selector(back)]; 24 | 25 | self.starView = [[StarView alloc] initWithFrame:CGRectMake(100, 100, 240, 40)]; 26 | self.starView.backgroundColor = [UIColor clearColor]; 27 | NSLog(@"%f",self.starNum); 28 | [self.starView setStar:self.starNum / 2]; 29 | 30 | [self.navigationController.view addSubview:self.starView]; 31 | } 32 | 33 | - (void)back 34 | { 35 | [self dismissViewControllerAnimated:YES completion:nil]; 36 | } 37 | @end 38 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Resourse/RatingBar.h: -------------------------------------------------------------------------------- 1 | // 2 | // RatingBar.h 3 | // easymarketing 4 | // 5 | // Created by HailongHan on 15/1/1. 6 | // Copyright (c) 2015年 cubead. All rights reserved. 7 | // 8 | 9 | #import 10 | @class RatingBar; 11 | 12 | /** 13 | * 星级评分条代理 14 | */ 15 | @protocol RatingBarDelegate 16 | 17 | /** 18 | * 评分改变 19 | * 20 | * @param ratingBar 评分控件 21 | * @param newRating 评分值 22 | */ 23 | - (void)ratingBar:(RatingBar *)ratingBar ratingChanged:(float)newRating; 24 | @end 25 | 26 | @interface RatingBar : UIView 27 | 28 | /** 29 | * 初始化设置未选中图片、半选中图片、全选中图片,以及评分值改变的代理(可以用 30 | * Block)实现 31 | * 32 | * @param deselectedName 未选中图片名称 33 | * @param halfSelectedName 半选中图片名称 34 | * @param fullSelectedName 全选中图片名称 35 | * @param delegate 代理 36 | */ 37 | - (void)setImageDeselected:(NSString *)deselectedName halfSelected:(NSString *)halfSelectedName fullSelected:(NSString *)fullSelectedName andDelegate:(id)delegate; 38 | 39 | /** 40 | * 设置评分值 41 | * 42 | * @param rating 评分值 43 | */ 44 | - (void)displayRating:(float)rating; 45 | 46 | /** 47 | * 获取当前的评分值 48 | * 49 | * @return 评分值 50 | */ 51 | - (float)rating; 52 | 53 | /** 54 | * 是否是指示器,如果是指示器,就不能滑动了,只显示结果,不是指示器的话就能滑动修改值 55 | * 默认为NO 56 | */ 57 | @property (nonatomic,assign) BOOL isIndicator; 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Resourse/StarView.h: -------------------------------------------------------------------------------- 1 | // 2 | // StarView.h 3 | // CustomCellDemo 4 | // 5 | // Created by ShaoFeng on 13-6-9. 6 | // Copyright (c) 2013年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface StarView : UIView 12 | { 13 | //背景图 14 | UIImageView *backgroundImageView; 15 | //前景图 16 | UIImageView *foregroundImageView; 17 | } 18 | //设置星级 19 | -(void)setStar:(CGFloat)star; 20 | @end 21 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/Resourse/StartEvaluateAndShow.h: -------------------------------------------------------------------------------- 1 | // 2 | // StartEvaluateAndShow.h 3 | // StarEvaluateAndShow 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import "StarView.h" 10 | #import "RatingBar.h" 11 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // StarEvaluateAndShow 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShow/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // StarEvaluateAndShow 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShowTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShowTests/StarEvaluateAndShowTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // StarEvaluateAndShowTests.m 3 | // StarEvaluateAndShowTests 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface StarEvaluateAndShowTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation StarEvaluateAndShowTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShowUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /StarEvaluateAndShow/StarEvaluateAndShowUITests/StarEvaluateAndShowUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // StarEvaluateAndShowUITests.m 3 | // StarEvaluateAndShowUITests 4 | // 5 | // Created by ShaoFeng on 16/3/23. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface StarEvaluateAndShowUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation StarEvaluateAndShowUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /TableViewSearchHighlight/SearchHelight.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TableViewSearchHighlight/SearchHelight/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // SearchHelight 4 | // 5 | // Created by ShaoFeng on 2017/1/13. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /TableViewSearchHighlight/SearchHelight/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /TableViewSearchHighlight/SearchHelight/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TableViewSearchHighlight/SearchHelight/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // SearchHelight 4 | // 5 | // Created by ShaoFeng on 2017/1/13. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /TableViewSearchHighlight/SearchHelight/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // SearchHelight 4 | // 5 | // Created by ShaoFeng on 2017/1/13. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/TableViewSlideMultiButton/.DS_Store -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/TableViewSlideMultiButton/TableViewSlideMultiButton/.DS_Store -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // TableViewSlideMultiButton 4 | // 5 | // Created by ShaoFeng on 16/7/26. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // TableViewSlideMultiButton 4 | // 5 | // Created by ShaoFeng on 16/7/26. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /TableViewSlideMultiButton/TableViewSlideMultiButton/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TableViewSlideMultiButton 4 | // 5 | // Created by ShaoFeng on 16/7/26. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /TouchID/TouchID.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TouchID/TouchID/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // TouchID 4 | // 5 | // Created by ShaoFeng on 2017/2/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /TouchID/TouchID/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /TouchID/TouchID/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /TouchID/TouchID/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /TouchID/TouchID/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /TouchID/TouchID/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // TouchID 4 | // 5 | // Created by ShaoFeng on 2017/2/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /TouchID/TouchID/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TouchID 4 | // 5 | // Created by ShaoFeng on 2017/2/9. 6 | // Copyright © 2017年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/仿头条新闻滑动效果/.DS_Store -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/仿头条新闻滑动效果/仿头条新闻滑动效果/.DS_Store -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by ShaoFeng on 16/3/22. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/FifthTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FifthTableViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FifthTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/FifthTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // FifthTableViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "FifthTableViewController.h" 10 | 11 | @interface FifthTableViewController () 12 | 13 | @end 14 | 15 | @implementation FifthTableViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | self.view.backgroundColor = [UIColor greenColor]; 21 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; 22 | label.text = @"第5个控制器的视图"; 23 | label.textAlignment = NSTextAlignmentCenter; 24 | label.center = self.view.center; 25 | [self.view addSubview:label]; 26 | 27 | self.tableView.tableFooterView = [UIView new]; 28 | } 29 | 30 | - (void)didReceiveMemoryWarning { 31 | [super didReceiveMemoryWarning]; 32 | // Dispose of any resources that can be recreated. 33 | } 34 | 35 | #pragma mark - Table view data source 36 | 37 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 38 | return 0; 39 | } 40 | 41 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 42 | return 0; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/FirstTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FirstTableViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FirstTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/FirstTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // FirstTableViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "FirstTableViewController.h" 10 | 11 | @interface FirstTableViewController () 12 | 13 | @end 14 | 15 | @implementation FirstTableViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.view.backgroundColor = [UIColor purpleColor]; 20 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; 21 | label.text = @"第1个控制器的视图"; 22 | label.textAlignment = NSTextAlignmentCenter; 23 | label.center = self.view.center; 24 | [self.view addSubview:label]; 25 | 26 | self.tableView.tableFooterView = [UIView new]; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | // Dispose of any resources that can be recreated. 32 | } 33 | 34 | #pragma mark - Table view data source 35 | 36 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 37 | return 0; 38 | } 39 | 40 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 41 | return 0; 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/FourthTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FourthTableViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FourthTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/FourthTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // FourthTableViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "FourthTableViewController.h" 10 | 11 | @interface FourthTableViewController () 12 | 13 | @end 14 | 15 | @implementation FourthTableViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.view.backgroundColor = [UIColor grayColor]; 20 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; 21 | label.text = @"第4个控制器的视图"; 22 | label.textAlignment = NSTextAlignmentCenter; 23 | label.center = self.view.center; 24 | [self.view addSubview:label]; 25 | 26 | self.tableView.tableFooterView = [UIView new]; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | // Dispose of any resources that can be recreated. 32 | } 33 | 34 | #pragma mark - Table view data source 35 | 36 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 37 | return 0; 38 | } 39 | 40 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 41 | return 0; 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/MainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/SFPackageViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SFPackageViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | //get the width of the screen 9 | #define SCR_W [UIScreen mainScreen].bounds.size.width 10 | 11 | //get the width of the screen 12 | #define SCR_H [UIScreen mainScreen].bounds.size.height 13 | 14 | //custom RGB color 15 | #define RGB(__r,__g,__b) [UIColor colorWithRed:(__r) / 255.0 green:(__g) / 255.0 blue:(__b) / 255.0 alpha:1] 16 | 17 | #define topButtonWidth 100 18 | 19 | 20 | #import 21 | #import 22 | 23 | @interface SFPackageViewController : NSObject 24 | 25 | /** 26 | * 根据点击的view,设置合适的移动距离 27 | * 28 | * @param currentClickview 当前点击的空间 29 | * @param moveScrollView 整个ScrollView 30 | */ 31 | + (void)setMoveScrollViewContentOffsetWithCurrentClickView:(UIView *)currentClickview andMoveScrollView:(UIScrollView *)moveScrollView; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/SFPackageViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SFPackageViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "SFPackageViewController.h" 10 | 11 | @implementation SFPackageViewController 12 | 13 | #pragma mark - 根据传进来的view设置偏移的位置 14 | 15 | + (void)setMoveScrollViewContentOffsetWithCurrentClickView:(UIView *)currentClickview andMoveScrollView:(UIScrollView *)moveScrollView 16 | { 17 | if(moveScrollView.contentSize.width - moveScrollView.frame.size.width < 0) 18 | return; 19 | CGFloat x = currentClickview.frame.origin.x - (moveScrollView.frame.size.width - currentClickview.frame.size.width)/2; 20 | if(x > (moveScrollView.contentSize.width - moveScrollView.frame.size.width)) 21 | { 22 | x = moveScrollView.contentSize.width - moveScrollView.frame.size.width; 23 | } 24 | else if(x < 0) 25 | { 26 | x = 0; 27 | } 28 | [moveScrollView setContentOffset:CGPointMake(x, currentClickview.frame.origin.y) animated:YES]; 29 | } 30 | @end 31 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/SecondTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SecondTableViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SecondTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/SecondTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SecondTableViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "SecondTableViewController.h" 10 | 11 | @interface SecondTableViewController () 12 | 13 | @end 14 | 15 | @implementation SecondTableViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | self.view.backgroundColor = [UIColor orangeColor]; 21 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; 22 | label.text = @"第2个控制器的视图"; 23 | label.textAlignment = NSTextAlignmentCenter; 24 | label.center = self.view.center; 25 | [self.view addSubview:label]; 26 | 27 | self.tableView.tableFooterView = [UIView new]; 28 | } 29 | 30 | - (void)didReceiveMemoryWarning { 31 | [super didReceiveMemoryWarning]; 32 | } 33 | 34 | #pragma mark - Table view data source 35 | 36 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 37 | return 0; 38 | } 39 | 40 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 41 | return 0; 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/SixthTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SixthTableViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SixthTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/SixthTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SixthTableViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "SixthTableViewController.h" 10 | 11 | @interface SixthTableViewController () 12 | 13 | @end 14 | 15 | @implementation SixthTableViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.view.backgroundColor = [UIColor cyanColor]; 20 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; 21 | label.text = @"第6个控制器的视图"; 22 | label.textAlignment = NSTextAlignmentCenter; 23 | label.center = self.view.center; 24 | [self.view addSubview:label]; 25 | 26 | self.tableView.tableFooterView = [UIView new]; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | } 32 | 33 | #pragma mark - Table view data source 34 | 35 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 36 | return 0; 37 | } 38 | 39 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 40 | return 0; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/ThirdTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ThirdTableViewController.h 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ThirdTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/ThirdTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ThirdTableViewController.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by Cocav on 16/3/20. 6 | // Copyright © 2016年 cocav. All rights reserved. 7 | // 8 | 9 | #import "ThirdTableViewController.h" 10 | 11 | @interface ThirdTableViewController () 12 | 13 | @end 14 | 15 | @implementation ThirdTableViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.view.backgroundColor = [UIColor blueColor]; 20 | UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; 21 | label.text = @"第3个控制器的视图"; 22 | label.textAlignment = NSTextAlignmentCenter; 23 | label.center = self.view.center; 24 | [self.view addSubview:label]; 25 | 26 | self.tableView.tableFooterView = [UIView new]; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | // Dispose of any resources that can be recreated. 32 | } 33 | 34 | #pragma mark - Table view data source 35 | 36 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 37 | return 0; 38 | } 39 | 40 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 41 | return 0; 42 | } 43 | 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 仿头条新闻滑动效果 4 | // 5 | // Created by ShaoFeng on 16/3/22. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果Tests/_________Tests.m: -------------------------------------------------------------------------------- 1 | // 2 | // _________Tests.m 3 | // 仿头条新闻滑动效果Tests 4 | // 5 | // Created by ShaoFeng on 16/3/22. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface _________Tests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation _________Tests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果UITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /仿头条新闻滑动效果/仿头条新闻滑动效果UITests/_________UITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // _________UITests.m 3 | // 仿头条新闻滑动效果UITests 4 | // 5 | // Created by ShaoFeng on 16/3/22. 6 | // Copyright © 2016年 Cocav. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface _________UITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation _________UITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /自带视频播放器/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/自带视频播放器/.DS_Store -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/2.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1170197998/Objective_C-DEMO/3207ab14889f1f1b38a063c408503486badc90dc/自带视频播放器/自带视频播放器/2.mp4 -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 自带视频播放器 4 | // 5 | // Created by ShaoFeng on 2016/10/12. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 自带视频播放器 4 | // 5 | // Created by ShaoFeng on 2016/10/12. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /自带视频播放器/自带视频播放器/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 自带视频播放器 4 | // 5 | // Created by ShaoFeng on 2016/10/12. 6 | // Copyright © 2016年 ShaoFeng. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | --------------------------------------------------------------------------------