首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS流布局UICollectionView系列一——初识与简单使用UICollectionView

iOS流布局UICollectionView系列一——初识与简单使用UICollectionView 一、简介         UICollectionView是iOS6之后引入的一个新的UI控件,它和...的cell特性外,CollectionView的Item大小和位置可以自由定义 4、通过layout布局回调的代理方法,可以动态的定制每个item的大小和collection的大体布局属性 5、更加强大一点...        了解UICollectionView的更多属性前,我们先来使用其进行一个最简单的流布局试试看,controller的viewDidLoad添加如下代码:     //创建一个layout...是iOS6.0之前的新类,因此这里统一从复用池中获取cell的方法,没有再提供可以返回nil的方式,并且UICollectionView的回调代理,只能使用从复用池中获取cell的方式进行cell...则会在一列充满后,进行第二列的布局,这种方式被称为流式布局 三、UICollectionView的常用方法和属性 //通过一个布局策略初识化CollectionView - (instancetype

2.7K20

Swift定义布局实现 Cover Flow 效果

写在开头 大家早上好,今天我又给大家带来了一篇关于 UICollectionView 系列的文章,在上一篇文章,我们实现一个酷炫的瀑布流布局,带大家初步的了解了 UICollectionView...该如何创建自定义布局。...但是上一篇实现的自定义布局稍显简单,只能说是比较粗略的计算了下布局各个 item 的位置,搞明白继承自 UICollectionFlowLayout 子类它需要重载的方法的意义,那么今天这篇文章我们就来实现一个更加复杂的自定义布局...同学你讲的没错,但是当我们 Cell 的 width 加上边距等如果不占满 UICollectionView,那么就会出现一个问题,虽然你实现分页效果,但是你的 Cell 滚动的过程是不会居中的....,那剩下的就是视图控制器呈现,这一步实现起来很简单,不做赘述,直接看源码: // // CoverFlowViewController.swift // SwiftScrollBanner

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

高仿ios斗鱼界面

版本更新升级 我们不需要再修改老版本 Swift 语言编译的库。...弹性/韧性 解决易碎二进制接口问题 Fragile binary interface problem是面向对象编程语言的通病 如果在程序引入了外部库 我们的的程序中使用并继承该外部库的类 如果外部库有改动...我们必须重新编译所有该类的继承树 而这类问题被称为脆弱的基类 (Fragile base class) 可移植性 这个对于高级语言是很重要的特性,这意味着Swift可被移植到其他平台上。...新的API设计规范 Swift3.0 发布新的语言设计规范 其中Swift3.0标准库和核心库将会遵循这个设计规范。...规范地址 从函数参数删除var关键字 func doSomethingWithVar(var i: Int) { i = 2 // This will NOT have an effect

74650

Swift-低仿搜狐新闻标签页效果

ViewController里自定义两个数组,我的频道(myChannels)和更多频道(moreChannels) 点击+跳转到频道管理页面的点击方法里面有一个回调方法,即:将选中的频道、以及自定义后的频道回传到此页面...HQChannelListHeaderViewIdentifier = "HQChannelListHeaderViewIdentifier" private let itemW: CGFloat = (SCREEN_WIDTH - 60) / 4 自定义流水布局...,设置布局的一些属性 // MARK: - 自定义布局属性 class HQChannelListViewLayout: UICollectionViewFlowLayout { override...总结 用Swift造的第一个轮子,主要是给自己增加点积累,练练Swift的一些用法。...仔细观察一下,《头条》或者《搜狐》的更多频道里,如果将我的频道的Item移动到更多频道里,《搜狐》只是放在更多频道里面的最后一个位置,《头条》是放在第一个的位置,并没有放哪里都行,我突然又感觉我自己的又有点多此一举了

1.9K40

ios仿斗鱼界面

版本更新升级 我们不需要再修改老版本 Swift 语言编译的库。...弹性/韧性 解决易碎二进制接口问题 Fragile binary interface problem是面向对象编程语言的通病 如果在程序引入了外部库 我们的的程序中使用并继承该外部库的类 如果外部库有改动...我们必须重新编译所有该类的继承树 而这类问题被称为脆弱的基类 (Fragile base class) 可移植性 这个对于高级语言是很重要的特性,这意味着Swift可被移植到其他平台上。...新的API设计规范 Swift3.0 发布新的语言设计规范 其中Swift3.0标准库和核心库将会遵循这个设计规范。...规范地址 从函数参数删除var关键字 func doSomethingWithVar(var i: Int) { i = 2 // This will NOT have an effect

86690

手把手带你撸一个网易云音乐首页(三)

前言 Hello, 大家好,今天准备和大家继续分享如何利用 Swift 来实现一个网易云音乐的首页;上俩篇文章文章发布以后,我收获不少小伙伴的关注与点赞,同时得到了一些非常有用的建议,在这里再次感谢大家的认可...这里就不绕弯子,当然是用最常用的内容展示神器 UICollectionView 这个控件,读完本篇文章你会发现真是万物皆可使用 UICollectionView。...具体实现该效果的代码在这里我就不做多阐述,因为我之前的文章,我已经将实现这个效果的教程写出来了,查看此文即可:使用 UICollectionView 实现首页卡片轮播效果 圆形菜单入口 该效果实现起来很简单...Cell 中放置 UICollectionView,它的布局很简单,直接用系统提供的即可,不需要我们去自定义布局。..., 用于展示 Cell 相同的地方;然后我们各个 Cell 构建不同样式的 UI,利用 UICollectionView 这一神器实现这些效果;最后,实现简单的搜索功能。

2.3K10

使用 UICollectionView 实现首页卡片轮播效果

UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,开发过程我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...;相比 UITbleView,UICollectionView 的功能比它要强大的多,它支持水平与垂直俩种方向的布局,开发者可以完全自定义一套 layout 布局方案,实现出意想不到的效果。...如何使用 UICollectionView 实现网易云首页卡片轮播效果。...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。...(indexPath.row % self.sourceCount) } } } 然后,支持图片的自动播放与分页控件高亮就比较简单,我们可以使用定时器 Timer 与 UIPageController

1.8K20

UICollectionView设置组背景和组圆角-Swift

我们都应该知道UICollectionView我们要想自定义一些东西或者布局几乎都是通过Layout下手的,那我们要给它设置组背景色和组圆角是不是在这里进行呢?...重点 ---- 我们写瀑布流或者别的一些布局的时候,我们都是在哪里重写的?...} 不能忘记了PPReusableView,它的代码比较的简单,如下 import Foundation import UIKit // MARK: - 可重复使用视图 class PPReusableView...registClass这个方法我们PPBaseFlowLayout的初始化方法里面调用就可以,还有属性数组这写就不用说了吧还是在前面自己定义初始化了。...最后初始化CollectionView的时候layout就是我们定义的PPBaseFlowLayout,遵守的代理就是PPCollectionViewDelegateFlowLayout,这个需要留意下就

3.5K51

iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流

在上一篇博客《iOS开发之窥探UICollectionViewController(三) --使用UICollectionView定义瀑布流》,自定义瀑布流的列数,Cell的外边距,Cell的最大以及最小高度是我们的布局文件是写死的...不过那样写太过死板,本来使用起来比较灵活的自定义布局,如果把其配置参数给写死了,就相当于笼中的猛兽,再厉害不白扯蛮。...今天这篇博客我们要接着上篇博客的Demo,使其自定义布局的属性使用它的UICollectionView是可配置的。...如果想使用布局文件,你需要为我们的UICollectionView来指定该布局文件本篇博客的DemoStoryboard中进行自定义布局文件的指定的,你可以通过代码的方式指定,再次不做过多的赘述...需要在UICollectionView使用控制器实现自定义布局的代理方法来设置布局属性,我们这儿定四个必须实现的方法。

79590

Swift 探索 UICollectionView 之 SupplementaryView 和 Decoration View

上周我分享一篇关于 UICollectionView定义布局实现 Cover Flow 的文章(文章直通车),这也是我分享的关于 UICollectionView 系列的第四篇文章,那今天我还是继续给大家带来...这个控件的核心技术点汇总齐全,毕竟 UICollectionView 使用的范围太广泛。...是否能这样操作呢!...接下来的内容,你将会学到以下知识点: 1.如何在 UICollectionView 创建 Decoration View2.自定义布局属性,计算 section 的背景图位置和大小3.实现 UICollectionView...,到此书架布局就基本完成了,最后加上数据源我们的书架就可以视图管理器(UIViewController)呈现,但是为了更进一步体现 UICollectionView 的强大,我还实现一个功能,那就是使得书架里的书可以自由拖拽排序

1.9K10

iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流

在上一篇博客《iOS开发之窥探UICollectionViewController(三) --使用UICollectionView定义瀑布流》,自定义瀑布流的列数,Cell的外边距,Cell的最大以及最小高度是我们的布局文件是写死的...不过那样写太过死板,本来使用起来比较灵活的自定义布局,如果把其配置参数给写死了,就相当于笼中的猛兽,再厉害不白扯蛮。...今天这篇博客我们要接着上篇博客的Demo,使其自定义布局的属性使用它的UICollectionView是可配置的。...如果想使用布局文件,你需要为我们的UICollectionView来指定该布局文件本篇博客的DemoStoryboard中进行自定义布局文件的指定的,你可以通过代码的方式指定,再次不做过多的赘述...需要在UICollectionView使用控制器实现自定义布局的代理方法来设置布局属性,我们这儿定四个必须实现的方法。

65580

抛弃UITableView,让所有列表页不再难构建

reload这一行,heightForRow代理方法判断isExpand,返回小明已在FeedCellModel已经计算的两个高度(初始高度和全部高度)。...还是约束,都很烦,压根就不想写,或者用CollectionView貌似好一点,设置好与上下视图的约束,根据有没有图片设置隐藏,FeedCellModel里面根据图片数量重新计算一下高度,这样好像能完成...可以这样说,有IGListKit,任何类似列表的页面UI构建,都将so easy! 首先,得介绍IGList的几个基本概念。...准备工作:布局collectionView和绑定适配器 BaseListViewController.swift let collectionView: UICollectionView =...,必须子类化,这里这么写是因为是基类BaseListViewController里。

1.6K30

(转)iOS开发之UICollectionViewController系列(四) :一款功能强大的自定义瀑布流

使用UICollectionView定义瀑布流》,自定义瀑布流的列数,Cell的外边距,Cell的最大以及最小高度是我们的布局文件是写死的,换句话说也就是不可配置的。...不过那样写太过死板,本来使用起来比较灵活的自定义布局,如果把其配置参数给写死了,就相当于笼中的猛兽,再厉害不白扯蛮。...今天这篇博客我们要接着上篇博客的Demo,使其自定义布局的属性使用它的UICollectionView是可配置的。...如果想使用布局文件,你需要为我们的UICollectionView来指定该布局文件本篇博客的DemoStoryboard中进行自定义布局文件的指定的,你可以通过代码的方式指定,再次不做过多的赘述...需要在UICollectionView使用控制器实现自定义布局的代理方法来设置布局属性,我们这儿定四个必须实现的方法。

5.5K50

iOS开发之资讯类App常用分类控件的封装与实现(CollectionView+Swift3.0+)

本篇博客所涉及的技术点主要有UICollectionView的Cell移动,手势识别,控件封装,闭包回调,面向接口编程,Swift的泛型等等。...下方效果的实现使用了iOS9以后的UICollectionView才支持的更新Cell的方法,稍后会详细介绍到。当然,本篇博客我们依然使用Swift3.0来实现的。...之前的博客,我们系列的介绍UICollectionView的各种回调,以及如何自定义CollectionView的布局,并给出了如何使用CollectionView自定义瀑布流。...上面这个效果就是我们今天博客中所实现的效果,而下方这两个效果是我们之前UICollectionView以及自定义布局时所给出的相应的Demo, 下方的Demo所对应的源码Gitbub上进行了分享...CEThemeDataSourceProtocal协议就规范数据源的数据项必须要实现的方法,下方就是CEThemeDataSourceProtocal协议的实现代码。

1.5K50

iOS流水布局UICollectionView简单使用引实现结

引 开发我们最常看到的可能是表视图UITableView,但其实还有一个视图很常见,特别是一些图片、商品、视频的展示界面,用UICollectionView来展现往往会更加方便。...其实看代码的会发现两者之间有着惊人的相似。 自定义Cell 根据UITableView的经验。...不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,...还可以设置为水平滚动,只需要改变布局参数的设置就可以UICollectionView的cell只能通过注册来确定重用标识符,什么叫注册,我们还是看代码: - (void)viewDidLoad {...的使用方式,就像UITableView可以简单可以做的非常多样,UICollectionView也是一种乍看很平常但可以容纳非常多想象力的布局方式,只要善加利用就可以做出很好的效果,当然,什么时候用UICollectionView

1K00

iOS自定义的emoji表情键盘 原

iOS自定义的表情键盘 一、关于emoji表情         随着iOS系统版本的升级,对原生emoji表情的支持越来越丰富。...emoji表情是unicode码为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUnicode,OS系统,这两种编码都有很好的支持。...,将其与unicode码一一对应,转码的时候,我们一一遍历,转换成unicode后进行传输,这样的好处是我们可以保证所有平台所能使用的表情统一。...追注:测试上面的SBUnicode码模拟器上可以正常显示,真机并不能识别,可以通过将表情符全部添加到一个plist文件,通过文件读取来创建键盘的方式进行真机上的开发。...plist文件地址如下: http://pan.baidu.com/s/1o6AdkBw 专注技术,热爱生活,交流技术,做朋友。 ——珲少

2.9K10

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券