1 定义 1.1 什么是UICollectionView UICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是UICollectionView...1.3 关于重用 为了得到高效的View,对于cell的重用是必须的,避免了不断生成和销毁对象的操作,这与在UITableView中的情况是一致的。...因此SDK提供给我们的默认的UICollectionViewCell结构上相对比较简单,由下至上: • 首先是cell本身作为容器view • 然后是一个大小自动适应整个cell的backgroundView...这次Apple给我们带来的好康是被选中cell的自动变化,所有的cell中的子view,也包括contentView中的子view,在当cell被选中时,会自动去查找view是否有被选中状态下的改变。.../449935.shtml UICollectionView cell横向间距如何调整(列距调整) http://www.cocoachina.com/bbs/read.php?
iOS中,UICollectionView和UITableView已经有系统默认选中颜色设置,但是只有无色,蓝色,灰色,三种颜色设置,如果想要其他的颜色效果,我们可以自由自定义设置。...前言 先观赏一下典型的UITableView控件案例 ? image.png 典型的UICollectionView控件案例 ?...image.png 1.单元格默认选中效果 系统默认单元格选中样式 //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone ; //蓝色...(一) 通用方案: 假设你已经正确实现其他代理方法,需要在table或collection的返回cell的代理方法中作如下设置: cell.selectedBackgroundView = [[UIView...(二) 通用方案: [x] 在自己自定义的cell文件中重写如下方法: 示例: UITableViewCell.m - (void)setHighlighted:(BOOL)highlighted
场景需求 一个表格视图(或者宫格视图)中,当一个单元格被选中时设置彩色样式,选中其它单元格时设置灰色样式。 2. 一个思路 通过实现选中和非选择的代理,以在适当的时机进行UI更新操作。 3....UITableView 3.1 通过屏幕点击改变的选中状态回调给代理 //选中 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath...: 上述代码强制设置某单元格选中或者不选中那一刻,都不会回调tableview的选中代理方法,也不会发出通知UITableViewSelectionDidChangeNotification。...UICollectionView 4.1 通过屏幕点击改变的选中状态回调给代理 //选中 - (void)collectionView:(UICollectionView *)collectionView...cell的时候,UITableView并不会执行- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath
HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。 。...QuickRearrangeTableView - 基于 UITableView 的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。...LLNoDataView - 超简单的空数据提示通用View支持UIScrollView、UITableView、UICollectionView、UIWebView。...微博cell自动布局 - 使用autoLayout对微博的cell进行自动布局,自适应cell的高度。...实现教程 jingDongFenLei - 简单仿写京东分类中的多级分类页面。
UIScrollView 恐怕是所有 App 都绕不过去的类——尤其是它的子类 UITableView 和 UICollectionView。...当用户滑动列表的时候,如果 reuseIdentifier 不为 nil,UITableView 会自动去调用已经生成好的UITableViewCell 来展示内容。...比如具体 item 的尺寸大小, item 之间的间距,header 和 footer 的大小和间距,以及 UICollectionView 的滚动方向。...UICollectionView 中的 Supplementary Views 和 Decoration Views 分别指什么?...网上对于瀑布流有很多实现,大家不妨借鉴的同时,亲自动手,以加深对 UICollectionView 的理解。 访问我的Github仓库查看更多精彩分享
使用UITableView就不用考虑复用以及调整scrollView上子控件位置的问题了。...手动敲代码利用UITableView实现具有需求效果的控件,可当UITableView滑动到最后一个cell再滑动到第一个cell的时候出现问题(并不能很流畅地从最后一个cell滑动回第一个cell)。...手动敲demo: 先在当前控制器的view上添加一个UICollectionView,每个item的大小等于UICollectionView的大小。...再添加一个定时器,每隔一定的时间让UICollectionView进行滚动。...最终效果图 demo地址:https://gitee.com/liangsenliangsen/uicollectionview_text_carousel 本篇文章到这里就结束了,愿大家加班不多工资多
新增 UIPasteControl 用于读取剪贴板中的内容,否则跨 App 读取时会弹出对话框让用户进行选择是否同意。...新增 LARightStore 用于存储与获取 keychain 中的数据。UIImage 增加了新的构造函数用于支持 SF Symbols 最新版中增加的类别 Variable。...UITableView 与 UICollectionView 在使用 Cell Content Configuration 时支持使用 UIHostingConfiguration 包装 SwiftUI...UITableView 与 UICollectionView 增加了新的selfSizingInvalidation参数,通过它 Cell 具备自动调整大小的能力。...UISheetPresentationController 支持自定义显示的 UIViewController 的大小。UIMenu 支持设置尺寸,分别为small、medium与large。
子 View 的顺序和子 View 返回的数组中的位置有关(storyboard 中左侧的树形结构图中的先后顺序)。...} } 静态单元格 需要使用 UITableViewController。 直接在 storyboard 中布局,不需要使用数据源方法,但如果需要使用到代理方法,仍然需要在控制器中实现相应的方法。...UITableViewDiffableDataSource 在 iOS 13 中引入了新的 API — Diffable Data Source,它不仅能够驱动 UITableView 和 UICollectionView...一般用于自适应大小,会根据自动布局决定元素的大小。...iOS 14 中 UICollectionView 的功能得以继续增强,可以在一定程度上替换 UITableView。
HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。...QuickRearrangeTableView - 基于UITableView的快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。...LLNoDataView - 超简单的空数据提示通用View支持UIScrollView,UITableView,UICollectionView,UIWebView。...HUMSlider - HUMSlider是一款能够自动显示刻度记号的滑杆,滑动到某处,该处的刻度会自动上升,两边还能配置图像。支持代码或storyboard中实现。...XTPaster - 贴纸功能出现在很多图片社交中,就是图片上面贴图片,对贴纸而言就是需要控制贴纸的位置,旋转,大小,如何使用。 RGCategoryView - 仿了个苏宁易购的分类页面。
把当前的控制器作为一个父控制器,添加三个UITableViewController的实例作为子控制器,把父控制器中的 scrollView 作为容器,然后添加子控制器中的 tableView 作为子视图...解决的办法是可以自己写个重用机制,不过这显然没必要,用自带重用机制的UICollectionView应该是个更好的选择。...然后要用 layout 控制布局,用最常用的 UICollectionViewFlowLayout 就行了,设置单元格的宽高,既然是翻页,宽肯定是跟屏幕等宽,高度就看你需求了,但是不要超过 collectionView...,然后一旦这个属性被赋值就自动联网取数据。...这边 cell 是会被复用的,在翻到第三页时,会复用第一页的 cell ,第四页复用第二页的 cell……依此类推,所以需要给 cell 中的tableView调用 reloadData方法,不然就算改变了表中的数据
(3)支持如下控件的刷新:UIScrollView、UITableView、UICollectionView、UIWebView。...dataSource = self //创建一个重用的单元格 self.tableView!....mj_header.endRefreshing() } //在本例中,只有一个分区 func numberOfSections(in tableView: UITableView) -> Int...dataSource = self //创建一个重用的单元格 self.tableView!....不同的状态,我们都可以设置一个图片数组,MJRefresh 就会自动播放这几张图片,形成动画。 其中下拉过程中的图片是根据下拉的距离自动改变。
---- 也可以自定义一个 继承于 UICollectionViewFlowLayout 的约束,在自定义的约束中实现更强大的功能。比如这样的: ?...return 40 + arc4random_uniform(100); 最后一点:关于拖动自动排列的效果实现: ?...—————— 瀑布流可以在保证图片原始比例的情况下,灵活的展现内容,相对于传统的使用相同大小的网格展现大量图片,效果上要好上很多,而实现瀑布流的方式有很多种,网上比较流行的有三种实现方式。...使用UITableView,这种方式应该是最易想到的,因为需要展现几列就用几个tabelview就ok了,而且不需要考虑重用,因为苹果已经做好了,只需要考虑如何在几列tabelView滑动的时候,保持同步不出现...使用UICollectionView,UICollectionView在iOS6中第一次被介绍,它与UITableView有许多相似点,但它多了一个布局类,而实现瀑布流,就与这个布局类有关。
注意对比和iOS 9的区别,iOS 9 是在cell上边缘马上进入屏幕的时候才调用方法,而这里,cell整个生命周期都被提前了,提前到cell还在设备外面的时候。...性能的提升和UICollectionView一样的,对UITableView的性能提升很大! 四....系统会自动计算好所有的布局,包括已经定下来的size的cell,并且还会动态的给出接下来cell的大小的预测。 接下来看2个例子就可以很明显看出iOS 10针对self-sizing的改进了。...Interactive Reordering 谈到重新排列,这是我们就需要类比一下UITableView了,UICollectionView的重新排列就如同UITableView 把cell上下移动,只不过...在上图中,我们可以看到,我们即使任意拖动cell,整个界面也会重新排列,并且我们改变了cell的大小,整个 UICollectionView 也会重新动态的布局。
在 VMware虚拟机软件 中安装的 Ubuntu虚拟机 的窗口不能自动调整大小的解决办法: 配置虚拟机时,发现屏幕大小太小,一般解决思路是:需要安装vmware tools ,屏幕就会自适应 。...3)在主文件夹里面或者子目录里创建或指定一个文件夹,将 VMwareTools-x.x.x-xxxxxxx.tar.gz 复制到该文件夹里面并解压到当前目录。 ...5)打开终端(命令行),进入到 vmware-install.pl 文件所在的目录下,运行命令执行该perl 脚本:sudo perl vmware-install.pl 或者sudo ....(中文版是:查看 --> 自动调整大小 --> 自动适应客户机大小 ) 9)Ubuntu分辨率调整,进入“系统设置”,找到 “显示” 点击进入调整你需要的分辨率,通常数值越大,界面就越大,能显示的内容就越多...至此配置成功,虚拟机可随VMware窗口大小自动调整。 问题解决之后的界面: ?
,创建可以展开/收起的轮廓界面,并向你介绍如何使用复合式界面的创建列表,并打造出带有网格视图、类似UITableView的界面。...10027 - Modern cell configuration介绍是网络视图与列表视图单元格的最新配置技巧 Discuss WWDC20 Session 10045 - Advances in diffable...也就意味着collectionView可以做UItableView的事情了(不再需要UItableView),同样,该样式还支持左滑删除等tableview的特色属性。...今年的API增加了Catalyst对在iOS中处理物理键盘事件的支持,这对设备的用户行为上报是个利好消息,此外,tvOS的焦点引擎API现在可用于Mac Catalyst中的应用程序,UICollectionView...和UITableView允许选择跟随键盘焦点。
UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,在开发过程中我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...思路分析 通过观察上面的图我们可以得出,这个网易云的轮播控件有三个特点,分别是: 1.支持图片手动横向滚动2.支持图片自动的滚动播放3.底部的分页控件会高亮显示出当前的图片是哪一张 好了,既然已经分析出来了它的特点...,那接下来就进入到编程环节吧!...public var pageControlMargin: CGFloat = 10 // 分页控件大小,注意:当PageControlType不等于自定义类型时,只能影响当前分页控件的大小...首先第一点,我们要对 UIPageControl 的样式进行调整,加上约束,并提供一个获取当前页索引的接口,代码如下: extension JJNewsBanner { override func
在 iOS 13 中 Apple 为 UITableView 和 UICollectionView 引入了 DiffableDataSource,让开发者可以更简单高效的实现 UITableView、UICollectionView...下面以 UITableView 为例进行讲解。 实现步骤 使用 DiffableDataSource 配置当前 UITableView 的数据源。...DiffableDataSource 通过调用自身 apply 方法将 DataSourceSnapshot 变更后的数据更新同步到 UITableView。...query.isEmpty else { return true } return name.contains(query) } } 点击事件中,获取 cell 的方式也和之前不一样...UITableView 的关键使用步骤,UIColletionView 使用类似,完整案例详见下面的链接: UITableView案例 UICollectionView案例
最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...中的cell当有键盘弹出的时候表单整体会自动进行上移,我们需要编辑的区域正好可以在键盘的上方,这样我们正好也可以看到我们编辑的内容,方便我们进行修改和调整具体内容。 ...中的self.view实际上就是对应的UITableView或UICollectionView,所以会出现一些莫名其妙的bug,显示不出来或者显示的位置不对。...然而,避免将HUD添加到具有复杂视图层次结构的某些UIKit视图(如UITableView或UICollectionView)是一个好主意。...时才避开了UITableView或UICollectionView,然后就都没问题了。
UICollectionView 1.必须要设置布局参数 2.注册cell 用法类似于UITableView 类。自动实现重用,必须注册初始化。...; // 定义每一个item的大小。...如果YES则在边界变化(一般是scroll到其他地方)时,将重新计算需要的布局信息。...,会有一系列准备方法被自动调用,以保证layout实例的正确。...首先,-(void)prepareLayout将被调用, 默认下该方法什么没做,但是在自己的子类实现中 ,一般在该方法中设定一些必要的layout的结构和初始需要的参数等。
Supplementary View 用过 UITableView 控件的同学肯定都知道我们可以给它的每个 section 加上 headerView 和 footerView,那在 UICollectionView...答案当然是肯定的,在 UICollectionView 控件中我们管这叫 Supplementary View, 翻译过来就是 "追加视图",那在 UICollectionView 中该怎么实现给每个...在接下来的内容中,你将会学到以下知识点: 1.如何在 UICollectionView 中创建 Decoration View2.自定义布局属性,计算 section 的背景图位置和大小3.实现 UICollectionView...: •开始交互•更新交互位置•结束交互•取消交互 在为 UICollectionView 添加手势后,根据手势提供的三种状态,分别调用上面的四个方法,来实现拖拽排序;另外,既然 Cell 的顺序会被调整...最后,我们来看下最终效果: 最后 关于 UICollectionView 系列的整理,到今天就要短暂的划上一个句号了,在写这个系列之前,我对 UICollectionView 的想法就是:无非就是比
领取专属 10元无门槛券
手把手带您无忧上云