ZLSwiftRefresh - swift下拉刷新/上拉加载更多,支持自定义动画,集成简单,兼容UITableView/CollectionView/ScrollView/WebView。...WaveRefresh - 下拉刷新水波纹动画。 DGElasticPullToRefresh - 是一款带有弹性效果的 iOS 下拉刷新组件。...VVBlurPresentation -很简单易用的在原来viewconntroller基础上做模糊,然后present新的viewcontroller的。...LTMorphingLabel - swift 能够实现文字变形动画效果的Label,用Swift写的一个能够实现文字变形动画效果的Label,很炫。 GJCFCoreText - 图文混排。...placeholder_TextView - 带有placeholder的TextView:带有提示信息的textview,使用懒加载的思想,支持扩展、自定义,类似许多APP内部的意见反馈页面 。
拿美团的主页UI举例 这样的首页较为复杂,正常布局的话需要多个CollectionView和一个UITableView 如果这些视图的Delegate都由ViewController来实现,自然显得臃肿且混乱...ChildViewController 可以通过 self.parent(Swift)|| self.parentViewController(OC)来拿到主ViewController的实例。...主ViewController可以通过 self.chilren(Swift) || self.childViewControllers(OC)来拿到ChildViewController的实例,它是一个数组...右键CollectionView 设置 Delegate 和 DataSource 等的连线 在主ViewController中如需调用这个模块的方法或者传参 class HomeController...,可以参考文章《纯Swift项目-Xib | StoryBoard 设备适配技巧[2]》及 《纯Swift项目-Xib | StoryBoard 约束使用技巧[3]》或其他相关文章。
它使用基于ViewController的container特性(而不是scrollview)来管理各个子页面,以支持无限分页,源码推荐说明。...MBXPageViewController - 简洁快速的页面切换--MBXPageViewController,带有按钮控件的UIPageController,非常整洁、简单以及快速。...MTMaterialDelete - 非常有趣的Material Design动画,动画删除表里面的单元格。...WHC_CollectionViewFramework.swift - 高仿支付宝可拖拽排序编辑动画效果cell的CollectionView集合视图。...swift 高度自定义TabBarController,支持自定义TabBarItem样式或添加动画
MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。...ZLSwiftRefresh - swift下拉刷新/上拉加载更多,支持自定义动画,集成简单,兼容UITableView / CollectionView / ScrollView / WebView...ReplaceAnimation.swift - 基于@ZYYoung欧阳哲同学的创意下拉刷新动画实现。值得称赞还有额外增加了“取消及滚动”效果支持。...动画 - 封装了一下,使用的时候只要两行代码。一些动画的飞机稿,都是一些单独分离出来的用于测试的子动画,现在统统归类一下。...WaveRefresh - 下拉刷新水波纹动画。 DGElasticPullToRefresh - 是一款带有弹性效果的iOS下拉刷新组件。
效果图 接下来就是具体的实现。 1. 创建ViewController 命名为SHomeViewController。 2. 声明 UICollectionView。...section: Int) -> Int { return dataArr.count } //返回自定义的cell func collectionView(collectionView...// // SHomeViewController.swift // // Created by wangjie on 16/5/4. // Copyright © 2016年 wangjie....} //返回自定义的cell func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath...从这个例子中我们发现Swift语言还是很简洁的。
} // 2.让图片进行动画的播放 // 图片数组 tomcat.animationImages = imageArray // 动画时间...{ indicator.stopAnimating() // UIView动画 // 动画执行的时间 // 动画执行的操作...(渲染模型)和新快照以获得差异,最后以设定的动画方式应用这些变化从而刷新界面。...class ViewController: UIViewController { @IBOutlet var collectionView: UICollectionView!...cell } } extension ViewController: UICollectionViewDelegate { func collectionView(_ collectionView
关闭显示占位的时候,将代理tableView的代理切回ViewController,正常显示。 特点 不需手动写占位控件,不需处理圆角等问题,占位效果与实际控件布局一致。...// CollectionView 开始动画 TABCollectionViewAnimationRunning, // CollectionView 动画中 TABCollectionViewAnimationEnd...// CollectionView 结束动画 }; // UITableView枚举 typedef NS_ENUM(NSInteger,TABViewAnimationStyle...,常见的有以下几个库: ShimmerRecyclerView ShimmerRecyclerView是一个带有闪光和指示效果的库,其运行效果如下图: ?...,您也可以设置更大的布局动画。
用户点击cell跳转界面后,又触发了原来UICollectionView的cell删除动画; 从slardar(APM)的聚合信息,可以看到: 4、最后页面是并不是原来UICollectionView...然后在新界面触发某些业务逻辑,导致UICollectionView调用了deleteItemsAtIndexPaths进行cell的移除动画,此时就会产生crash。...这是UICollectionView内部对动画前后的数量校验,iOS 12及以下的系统会有NSAssert的断言触发;iOS 13开始没有NSAssert,但是同样会有异常Log。...adjustedContentInset: {0, 0, 49, 0}; layout: ; dataSource: ViewController...:^(BOOL finished) { }]; } crash的原因是collectionView在执行deleteItemsAtIndexPaths:的时候,会对比删除前后section的item
用法简单介绍 ViewController就是一个首页的普通控制器,当点击+的时候,就会push到频道管理(也就是标签列表)页面。...在ViewController里自定义了两个数组,我的频道(myChannels)和更多频道(moreChannels) 在点击+跳转到频道管理页面的点击方法里面有一个回调方法,即:将选中的频道、以及自定义后的频道回传到此页面...(gesture) return collectionView }() } 实现CollectionView的数据源方法 // MARK: - UICollectionViewDataSource...(_ collectionView: UICollectionView, canMoveItemAt indexPath: IndexPath) -> Bool { // 设置第一组的第一个不能被移动...总结 用Swift造的第一个轮子,主要是给自己增加点积累,也练练Swift的一些用法。
>{ } @property (strong, nonatomic)UICollectionView *collectionView; @end ViewController.m import "ViewController.h..." @interface ViewController () @end @implementation ViewController (void)viewDidLoad { [super viewDidLoad...//定义展示的UICollectionViewCell的个数 -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection...UICollectionView *)collectionView { return 2; } //每个UICollectionView展示的内容 -(UICollectionViewCell )collectionView...]; //临时改变个颜色,看好,只是临时改变的。
希望能有更多对Swift感兴趣的开发者加入这项#30天30个Swift小程序 的活动里面来。...的动画效果,在它之上加了修改,支持传入自定义的UI属性,方便做组合型动画(例如本例中按钮不仅放大而且上下移动) 动画变化的原理是将相应的ViewController进行Scale变换,再通过一个Bubble...(略) - 其它:#selector()中的func如果带有参数,请将具体参数也一起写进去,例如: ``` #selector(action_segmentValueChanged(sender:)`...) - 第一步,获得转场动画的fromVC,toVC,container: let fromVC = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.from...动画确实是很有意思的:) Project 12 - Emoji Slot Machine Emoji Slot Machine.gif 我学到了 乍一看没思路,本来打算用三个collectionView
,并向你介绍如何使用复合式界面的创建列表,并打造出带有网格视图、类似UITableView的界面。...的 collectionView。.../topic/3971586402 当然,这一次的内容还有很多,包括app的移植、运行、调试、优化,这个系列对于图形、动画、游戏类的app还是挺多帮助的。...参考https://xiaozhuanlan.com/topic/9823657014 10.Swift 最后,事实上,这一次的WWDC介绍了大量的Swift的内容,这里没有涉猎,网上有很多相关的内容,...可以看出Swift早晚会转正,而且内容会更加完善,例如App Clip只在Swift上支持,有兴趣的同学可以看https://xiaozhuanlan.com/topic/2804537169 最后,可以参考
MJRefresh是很好用的一个刷新控件,但是如果在每个ViewController中都加入如下代码 self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock...在加载更多的时候还要管理Page 所以想一个办法对MJRefresh进行二次封装,在使用的时候方便调用。...MJRefresh 支持TableView,CollectionView,Scrollview,很容易联想到TableView,CollectionView都是继续Scrollview,那我们写一个Scrollview...} [weakSelf endHeaderRefresh]; }]; if (beginRefresh && animation) { //有动画的刷新...animation){ //刷新,但是没有动画 [self.mj_header executeRefreshingCallback]; } header.mj_h
本篇博客所涉及的技术点主要有UICollectionView的Cell移动,手势识别,控件封装,闭包回调,面向接口编程,Swift中的泛型等等。...当然,本篇博客我们依然使用Swift3.0来实现的。...在之前的博客中,我们系列的介绍了UICollectionView的各种回调,以及如何自定义CollectionView的布局,并给出了如何使用CollectionView自定义瀑布流。...说吧了,就是长按手势识别以及CollectionView的Cell的移动。下方我们将详细的介绍一下该控件的核心代码的实现。 1....2、为CollectionView添加长按手势 接下来要做的就是给CollectionView添加LongPressGestureRecognize。
在上一节中,我们学习了如何使用按钮更改iPhone的屏幕。让我们进一步推动!我们将实现一个CollectionView,我们将能够切换到您想要的壁纸。该的CollectionView将是滚动的水平。...MultipleScreens04 委托 Delegate 首先,让我们为CollectionView创建一个IBOutlet,Control +从Collection View ****拖动到swift...这样,我们的ViewController将能够使用我们的Collection View。另外,将数据源设置为self。...它将为您提供运行CollectionView所需的两种方法。 Sections中的项数和 Cell 在第一个函数内部,我们只需返回3。...材质 在ViewController中,在函数内部,更改3D模型的材质。在括号内,声明图像是UIImage。 iPhoneXNode.geometry?.firstMaterial?.
它使用基于ViewController的容器特性(而不是滚动视图)来管理各个子页面,以支持无限分页,源码推荐说明。...WHC_CollectionViewFramework.swift - 高仿支付宝可拖拽排列编辑动画效果cell的CollectionView集合视图。...FSCalendar - 日历视图,带有微妙和平滑的滚动效果,可自定义外观 - 国人。...支持iOS 5.0+ ARC,气泡能够带有数字标识,同时支持消失block方法。消失时还带有消失效果动画。 GiftCard-iOS - 礼品卡购买的炫酷动画。...DynamicButton.swift - 一套完整,且带动画过渡的图标按钮库。 TKDotSegment.swift - 是一个带有圆点动画的细分。
今天博客的内容比较简单,就是看一下虾米音乐首页中频道选择的一个动画效果的实现。...,下面会对效果进行分析,并且根据自己的理解去实现一个类似的频道选择切换效果。代码会在Github上进行分享,Demo实现时依然是使用的Swift语言。...下方是之前实现的类似今日头条的切换效果,具体请移步于“iOS开发之常用资讯类App的分类展示与编辑的完整案例实现(Swift版)” ?...然后就是做放大缩小动画了,选中的Tab进行放大,上次选中的Tab缩小。 从下方的效果可以看出,放大时字体是不会变虚的,肯定不是用的仿射变换这种放大方式。 ?...三、具体实现方式 在实现该Demo时,尝试了几种方案来实现上述效果,之前实验的方案如下: 先是使用了CollectionView, 然后对CollectionView进行自定义动画,在点击CollectionView
有需求的同学可以做为开发参考。 PinGo.swift - PinGo.swift:纯Swift编写的仿“随遇”App。...LeagueofLegends - 一个关于英雄联盟的完整iOS开源项目,接口均来自多玩,腾讯各大游戏平台。...YoCelsius - 已经上线的一款天气预报的应用,几乎所有的交互动画效果,想学习动画的开发人员可以作为参考。...======== 好的文章 自定义转场动画 - 3种方法〜关于自定义转场动画。 iOS提高效率的方法和工具 - iOS提高效率的方法和工具。...iOS创建半透明ViewController - iOS创建半透明ViewController。 Xcode使用技巧 - SwiftGG交流分享:Xcode使用技巧。
(在前文的基础上做了修改,尤其是代码部分)。...学习之前需要进行说明: 本文依然使用《iOS开发之DiffableDataSource》 一文中的数据。 需要熟悉 DiffableDataSource 的基本使用。...创建UICollectionView 为 UICollectionView 配置 List 式的布局,还可以配置滑动菜单。...class ViewController: UIViewController { // 创建UICollectionView private lazy var collectionView...关联DataSource collectionView.dataSource = dataSource view.addSubview(collectionView)
iOS 14 中 UICollectionView 的功能继续增强,可以在一定程度上替换 UITableView。本文以一个案例的形式看看如何使用。...依然使用 iOS开发之DiffableDataSource 一文中的数据。 需要熟悉 DiffableDataSource 的基本使用。...extension ViewController { // 注册Cell,这里用的是默认的UICollectionViewListCell,也可以用自定义的cell func makeCellRegistration...class ViewController: UIViewController { private lazy var collectionView = makeCollectionView()...= dataSource view.addSubview(collectionView) // 第一次进来刷新 updateList() }
领取专属 10元无门槛券
手把手带您无忧上云