Github关注者-源码

上传者: 42172572 | 上传时间: 2021-03-02 21:05:44 | 文件大小: 1.86MB | 文件类型: ZIP
Github关注者 Github Followers是我构建的第一个100%程序化UI(无故事板)应用程序。 制作Github关注者很有趣。 我获得了一些Apple出色的框架和功能的经验和知识。 我学到的东西 使用Smalltalk MVC正确处理图像加载。 支持明暗模式。 为UICollectionView或UITableView设置空状态视图。 利用自定义UICollectionViewFlowLayout布局UICollectionView 。 以编程方式布局UI,而无需使用情节提要。 结合使用UISearchController和NSDiffableDataSourceSnapshot在搜索时创建平滑的动画。 使用的技术 DiffableDataSource,UserDefaults,委托 UIKit,SafariServices Singleton,Factory,S

文件下载

资源详情

[{"title":"( 75 个子文件 1.86MB ) Github关注者-源码","children":[{"title":"GithubFollowers-master","children":[{"title":".gitignore <span style='color:#111;'> 3.08KB </span>","children":null,"spread":false},{"title":"GithubFollowers.xcodeproj","children":[{"title":"project.pbxproj <span style='color:#111;'> 28.03KB </span>","children":null,"spread":false}],"spread":true},{"title":"Readme.md <span style='color:#111;'> 943B </span>","children":null,"spread":false},{"title":"Screenshot.jpeg <span style='color:#111;'> 686.24KB </span>","children":null,"spread":false},{"title":"GithubFollowers","children":[{"title":"SceneDelegate.swift <span style='color:#111;'> 2.52KB </span>","children":null,"spread":false},{"title":"AppDelegate.swift <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"Scenes","children":[{"title":"FollowerListVC.swift <span style='color:#111;'> 7.57KB </span>","children":null,"spread":false},{"title":"SearchVC.swift <span style='color:#111;'> 3.36KB </span>","children":null,"spread":false},{"title":"UserInfoVC.swift <span style='color:#111;'> 5.57KB </span>","children":null,"spread":false},{"title":"FavoritesListVC.swift <span style='color:#111;'> 3.29KB </span>","children":null,"spread":false}],"spread":true},{"title":"Views","children":[{"title":"Labels","children":[{"title":"GFTitleLabel.swift <span style='color:#111;'> 815B </span>","children":null,"spread":false},{"title":"GFSecondaryTitleLabel.swift <span style='color:#111;'> 761B </span>","children":null,"spread":false},{"title":"GFBodyLabel.swift <span style='color:#111;'> 832B </span>","children":null,"spread":false}],"spread":true},{"title":"Views","children":[{"title":"GFItemInfoView.swift <span style='color:#111;'> 2.54KB </span>","children":null,"spread":false},{"title":"GFAlertContainerView.swift <span style='color:#111;'> 612B </span>","children":null,"spread":false},{"title":"EmptyStateView.swift <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false}],"spread":true},{"title":"ImageViews","children":[{"title":"GFAvatarImageView.swift <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"TextFields","children":[{"title":"GFTextField.swift <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false}],"spread":true},{"title":"Buttons","children":[{"title":"GFButton.swift <span style='color:#111;'> 955B </span>","children":null,"spread":false}],"spread":false},{"title":"Cells","children":[{"title":"FavoriteCell.swift <span style='color:#111;'> 1.71KB </span>","children":null,"spread":false},{"title":"FollowerCell.swift <span style='color:#111;'> 1.80KB </span>","children":null,"spread":false}],"spread":false},{"title":"Controllers","children":[{"title":"GFDataLoadingVC.swift <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false},{"title":"GFRepoItemVC.swift <span style='color:#111;'> 989B </span>","children":null,"spread":false},{"title":"GFTabBarController.swift <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false},{"title":"GFFollowerItemVC.swift <span style='color:#111;'> 1011B </span>","children":null,"spread":false},{"title":"GFAlertVC.swift <span style='color:#111;'> 3.17KB </span>","children":null,"spread":false},{"title":"GFUserInfoHeaderVC.swift <span style='color:#111;'> 3.88KB </span>","children":null,"spread":false},{"title":"GFItemInfoVC.swift <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"Managers","children":[{"title":"ImageManager.swift <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false},{"title":"NetworkManager.swift <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false},{"title":"PersistenceManager.swift <span style='color:#111;'> 1.96KB </span>","children":null,"spread":false}],"spread":true},{"title":"Info.plist <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"Misc","children":[{"title":"UIViewController+Extension.swift <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false},{"title":"ErrorMessage.swift <span style='color:#111;'> 498B </span>","children":null,"spread":false},{"title":"GFConstants.swift <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false},{"title":"Base.lproj","children":[{"title":"LaunchScreen.storyboard <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false}],"spread":false},{"title":"Assets.xcassets","children":[{"title":"avatar-placeholder.imageset","children":[{"title":"avatar-placeholder-dark@3x.png <span style='color:#111;'> 56.29KB </span>","children":null,"spread":false},{"title":"Contents.json <span style='color:#111;'> 1019B </span>","children":null,"spread":false},{"title":"avatar-placeholder-dark@2x.png <span style='color:#111;'> 31.83KB </span>","children":null,"spread":false},{"title":"avatar-placeholder@2x.png <span style='color:#111;'> 31.77KB </span>","children":null,"spread":false},{"title":"avatar-placeholder@3x.png <span style='color:#111;'> 55.65KB </span>","children":null,"spread":false}],"spread":false},{"title":"Contents.json <span style='color:#111;'> 63B </span>","children":null,"spread":false},{"title":"empty-state-logo.imageset","children":[{"title":"empty-state-logo@2x.png <span style='color:#111;'> 76.71KB </span>","children":null,"spread":false},{"title":"Contents.json <span style='color:#111;'> 1011B </span>","children":null,"spread":false},{"title":"empty-state-logo@3x.png <span style='color:#111;'> 150.02KB </span>","children":null,"spread":false},{"title":"empty-state-logo-dark@3x.png <span style='color:#111;'> 150.72KB </span>","children":null,"spread":false},{"title":"empty-state-logo-dark@2x.png <span style='color:#111;'> 77.13KB </span>","children":null,"spread":false}],"spread":false},{"title":"gh-logo.imageset","children":[{"title":"gh-logo@3x.png <span style='color:#111;'> 218.59KB </span>","children":null,"spread":false},{"title":"Contents.json <span style='color:#111;'> 975B </span>","children":null,"spread":false},{"title":"gh-logo-dark@3x.png <span style='color:#111;'> 207.36KB </span>","children":null,"spread":false},{"title":"gh-logo@2x.png <span style='color:#111;'> 122.86KB </span>","children":null,"spread":false},{"title":"gh-logo-dark@2x.png <span style='color:#111;'> 116.29KB </span>","children":null,"spread":false}],"spread":false},{"title":"AccentColor.colorset","children":[{"title":"Contents.json <span style='color:#111;'> 123B </span>","children":null,"spread":false}],"spread":false},{"title":"AppIcon.appiconset","children":[{"title":"Icon-20.png <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"Icon-40.png <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"Icon-83.5@2x.png <span style='color:#111;'> 8.80KB </span>","children":null,"spread":false},{"title":"Icon-60@2x.png <span style='color:#111;'> 6.23KB </span>","children":null,"spread":false},{"title":"Contents.json <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"Icon-29@2x.png <span style='color:#111;'> 3.39KB </span>","children":null,"spread":false},{"title":"Icon-29@3x.png <span style='color:#111;'> 4.69KB </span>","children":null,"spread":false},{"title":"Icon-60@3x.png <span style='color:#111;'> 9.49KB </span>","children":null,"spread":false},{"title":"Icon-20@3x.png <span style='color:#111;'> 3.38KB </span>","children":null,"spread":false},{"title":"Icon-40@3x.png <span style='color:#111;'> 6.23KB </span>","children":null,"spread":false},{"title":"Icon-76@2x.png <span style='color:#111;'> 7.91KB </span>","children":null,"spread":false},{"title":"Icon-40@2x.png <span style='color:#111;'> 4.35KB </span>","children":null,"spread":false},{"title":"Icon-76.png <span style='color:#111;'> 4.20KB </span>","children":null,"spread":false},{"title":"Icon-20@2x.png <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"Icon-1024.png <span style='color:#111;'> 77.69KB </span>","children":null,"spread":false},{"title":"Icon-29.png <span style='color:#111;'> 2.09KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"UIView+Extension.swift <span style='color:#111;'> 256B </span>","children":null,"spread":false},{"title":"GFError.swift <span style='color:#111;'> 761B </span>","children":null,"spread":false},{"title":"Date+Extension.swift <span style='color:#111;'> 333B </span>","children":null,"spread":false}],"spread":true},{"title":"Models","children":[{"title":"FollowerDelegate.swift <span style='color:#111;'> 186B </span>","children":null,"spread":false},{"title":"User.swift <span style='color:#111;'> 388B </span>","children":null,"spread":false},{"title":"Follower.swift <span style='color:#111;'> 193B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明