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

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

中的cell特性外,CollectionView中的Item大小和位置可以自由定义 4、通过layout布局回调的代理方法,可以动态的定制每个item的大小和collection的大体布局属性 5、更加强大一点...        在了解UICollectionView的更多属性前,我们先来使用其进行一个最简单的流布局试试看,在controller的viewDidLoad中添加如下代码:     //创建一个layout...则会在一列充满后,进行第二列的布局,这种方式也被称为流式布局 三、UICollectionView中的常用方法和属性 //通过一个布局策略初识化CollectionView - (instancetype...,我们需要调用下面的方法进行布局动画的展示,之后会调用上面方法的block回调 - (void)finishInteractiveTransition NS_AVAILABLE_IOS(7_0); //...调用这个方法取消上面的布局动画设置,之后也会进行上面方法的block回调 - (void)cancelInteractiveTransition NS_AVAILABLE_IOS(7_0); //获取分区数

3.1K20

(转)iOS开发之UICollectionViewController系列(一) :Ready CollectionViewController

当创建自定义视图控制器或者展示控制器时,你可以重写默认的实现方法来调整你视图控制器的内容。例如,你可以使用该方法来调整子视图控制器的大小或位置。...如果你是使用编程的方式来创建集合视图控制器,那么将会自动创建一个已经配置好的collection view, 而这个collection view可以通过collectionView来进行访问。...当你初始化视图控制器时,你可以使用initWithCollectionViewLayout:方法来指定集合视图想要使用的布局方式。...的对象,该方法可以初始化和根据提供的布局来配置集合视图。...布局会控制集合视图上的单元格(Cell)的排列方式。默认的是Flow Layout. ?

5.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS开发之窥探UICollectionViewController(一) -- Ready Your CollectionViewController

    当创建自定义视图控制器或者展示控制器时,你可以重写默认的实现方法来调整你视图控制器的内容。例如,你可以使用该方法来调整子视图控制器的大小或位置。...如果你是使用编程的方式来创建集合视图控制器,那么将会自动创建一个已经配置好的collection view, 而这个collection view可以通过collectionView来进行访问。...当你初始化视图控制器时,你可以使用initWithCollectionViewLayout:方法来指定集合视图想要使用的布局方式。...的对象,该方法可以初始化和根据提供的布局来配置集合视图。...布局会控制集合视图上的单元格(Cell)的排列方式。默认的是Flow Layout. ? 2.

    1.6K60

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

    引 开发中我们最常看到的可能是表视图UITableView了,但其实还有一个视图也很常见,特别是一些图片、商品、视频的展示界面,用UICollectionView来展现往往会更加方便。...首先看每个方块,也就是每个cell怎么呈现,这里的cell明显是自定义的,我们用一张图片填满cell,同时在底部居中的位置放置一个label。...[self.contentView addSubview:self.label]; } return self; } 我们将图片和label放在.h文件是为了便于在控制器中去直接操作要显示的图片和文字...为了显得真实一点,我用了一个随机数来决定每个cell显示的图片和文字,这样在呈现的时候就不会太过千篇一律。...不同之处在于UICollectionView需要一个布局参数来决定cell是如何布局的,默认是流水布局,也就是我们最常见的形式,也就是上面图里的形式;此外,UICollectionView除了垂直滚动,

    1.1K00

    教你写个多表视图

    multi_table.gif 如图所示的多表视图是一个很常用的东西,之前我是用UIScrollView和UITableViewController做的。...把当前的控制器作为一个父控制器,添加三个UITableViewController的实例作为子控制器,把父控制器中的 scrollView 作为容器,然后添加子控制器中的 tableView 作为子视图...首先新建个HomeContainerViewController,继承自UICollectionViewController,然后在viewDidLoad里面加上这两句: collectionView?...然后要用 layout 控制布局,用最常用的 UICollectionViewFlowLayout 就行了,设置单元格的宽高,既然是翻页,宽肯定是跟屏幕等宽,高度就看你需求了,但是不要超过 collectionView..."] override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath

    1.3K30

    Swift 项目 - Xib | StoryBoard 多人协作技巧

    StoryBoard 和 Xib 都是用来分离UI样式代码,改善视图代码重用率,增加所见即所得,降低视图测试繁复度的视图系列化工具, 其中Xib以视图View为主, StoryBoard 以控制器Controller...拿美团的主页UI举例 这样的首页较为复杂,正常布局的话需要多个CollectionView和一个UITableView 如果这些视图的Delegate都由ViewController来实现,自然显得臃肿且混乱...一个占位的容器视图指向子控制器的Embed Segue 按住Control键连线到想要包含的子控制器,占位视图的实例==子控制器的view(子控制器根视图) 选择Embed连线方式后,子控制器 的尺寸变化成跟占位视图一样的尺寸...这样我们可以将功能图标的CollectionView的代码放到这第一个子控制器上,CollectionViewDelegate、CollectionViewDataSource等代码也由子控制器实现...,绑定上面的类 右键这个Object,在弹出的菜单中连线 右键CollectionView 设置 Delegate 和 DataSource 等的连线 在主ViewController中如需调用这个模块的方法或者传参

    2.1K20

    iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图)

    keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) 1.2展示的时候,动画从右上角往左下脚延伸;隐藏的时候,动画从左下脚往右上角收回 (展示的时候,从上往下,即x,y...慢慢变大) 1.3 内部视图采用collectionView进行布局 1.4 view的frame 是根据当前点击的菜单按钮所在的商品cell进行计算和坐标转换的。...1.3 内部视图采用collectionView进行布局 @property (strong, nonatomic) UICollectionView *collectionView; 1.4 view...keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) 1.2展示的时候,动画从右上角往左下脚延伸;隐藏的时候,动画从左下脚往右上角收回 (展示的时候,从上往下,即x,y...慢慢变大) 1.3 内部视图采用collectionView进行布局 1.4 view的frame 是根据当前点击的菜单按钮所在的商品cell进行计算和坐标转换的。

    2.5K10

    WWDC20中iOS的改变

    WWDC20中,绝大部份同学都会把注意力放在了iOS的布局改变和自研芯片上,这方面的文章也比较多,但作为一名开发者,更多的聚焦在iOS官方语言和官方库上来,这里仅找出几个更新比较大的点给大家分享。...而在modern collectionview里,在这两者之间增加了一个Group纬度。为的就是更方便地创造出更复杂的布局: 有了group以后,我们可以嵌套多种排列的Item。...Group 有三种形式水平(horizontal)、垂直(vertical)、自定义(custom)从这里可以看出,collectionView的布局越来越多样,越来越多样,多性能监控和用户行为监控提了更高的要求...documentation/uikit/views_and_controls/collection_views/implementing_modern_collection_views 相对于性能监控,布局的复杂带动的是动画的复杂...现在可以在iOS 13上使用。PencilKit使开发人员可以轻松地在其应用程序中集成绘图画布视图和工具包。 PencilKit可让您轻松快捷地将手绘内容整合到iOS或macOS应用中。

    1.8K10

    客户端骨架屏详解

    特点 不需手动写占位控件,不需处理圆角等问题,占位效果与实际控件布局一致。 缺点是有的控件是自适应大小,在未获得数据之前,控件位置是错误的,导致占位效果有问题。...Somo 同样是扩展UIView,添加属性somoContainer,表示占位视图的容器视图,其中每个占位区域都是一个SomoView。...// CollectionView 开始动画 TABCollectionViewAnimationRunning, // CollectionView 动画中 TABCollectionViewAnimationEnd...,您也可以设置更大的布局动画。...,在等待页面加载渲染完成之后,在保留页面布局样式的前提下,通过对页面中元素进行删减或增添,对已有元素通过层叠样式进行覆盖,这样达到在不改变页面布局下,隐藏图片和文字,通过样式覆盖,使得其展示为灰色块。

    4.1K10

    iOS14开发-UIView

    { indicator.stopAnimating() // UIView动画 // 动画执行的时间 // 动画执行的操作...直接在 storyboard 中布局,不需要使用数据源方法,但如果需要使用到代理方法,仍然需要在控制器中实现相应的方法。 适用于基本不需要动态修改、布局固定的页面,如个人中心、设置等。...)") } } UICollectionViewCompositionalLayout 在 iOS 13 中 UICollectionView 推出了一种新的组合布局 UICollectionViewCompositionalLayout...表达一个元素的 Size 有三种方法: fractional:表示一个元素相对于他的父视图的比例。(Item 的父视图是 Group,Group 的父视图是 Section) 。...NSCollectionLayoutAnchor 在 Item 中,可能需要给其加上小红点或者未读消息数等附加视图,在 UICollectionViewCompositionalLayout 中,可以通过

    11.9K10

    iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图) 【修订版】

    ,需要隐藏弹出视图) 1.2展示的时候,动画从右上角往左下脚延伸;隐藏的时候,动画从左下脚往右上角收回 (展示的时候,从上往下,即x,y 慢慢变大) 1.3 内部视图采用collectionView进行布局...1.2 展开 展示的时候,动画从右上角往左下脚延伸;隐藏的时候,动画从左下脚往右上角收回 (展示的时候,从上往下,即x,y 慢慢变大) 展开效果的实现原理: 1 点击展示商品信息的cell 上面的弹出按钮时...1.3 内部视图采用collectionView进行布局 @property (strong, nonatomic) UICollectionView *collectionView; 1.4 view...keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) 1.2展示的时候,动画从右上角往左下脚延伸;隐藏的时候,动画从左下脚往右上角收回 (展示的时候,从上往下,即x,y...慢慢变大) 1.3 内部视图采用collectionView进行布局 1.4 view的frame 是根据当前点击的菜单按钮所在的商品cell进行计算和坐标转换的。

    1.9K30

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

    View 回到我们的项目工程中来,准备构建我们的表视图。 首先,在我们的首页视图控制器 DiscoveryViewController 中创建存储属性 HomeViewModel 并初始化它。...Cell 中放置 UICollectionView,它的布局也很简单,直接用系统提供的即可,不需要我们去自定义布局。...,我们的视图控制器 MusicSearchViewController 继承自 UITableViewController,所以它的 UINavigationItem 中自己带有 searchController...,我们仅实现一个简单的搜索演示功能,因为要真的做好搜索这个需求,需要服务器的”大力“配合,在本工程中,我们仅用一些静态数据来做演示: musics = [ Results(name...UI 视图, 由于在我们首页里的 Cell 的样式有不同之处但也有相似的地方,所以我们创建了一个基类 BaseViewCell, 用于展示 Cell 中相同的地方;然后我们在各个 Cell 中构建不同样式的

    2.3K10

    Swift 探索 UICollectionView 之 SupplementaryView 和 Decoration View

    答案当然是肯定的,在 UICollectionView 控件中我们管这叫 Supplementary View, 翻译过来就是 "追加视图",那在 UICollectionView 中该怎么实现给每个...为了带大家更好的熟悉理解 Decoration View,我在这里教大家现场开发制作一个电子书架!...在接下来的内容中,你将会学到以下知识点: 1.如何在 UICollectionView 中创建 Decoration View2.自定义布局属性,计算 section 的背景图位置和大小3.实现 UICollectionView..., forDecorationViewOfKind elementKind: String) 通常情况下,在需要用到装饰视图的时候,都会去重写 UICollectionViewFlowLayout,然后在它的子类中去注册装饰视图...decorations.zIndex = -1 self.sectionAttrs.append(decorations) } } 属性计算好了,紧接着就是在布局更新的时候

    2.2K10

    iOS自定义的emoji表情键盘 原

    在iOS端,可以有另一种方式,通过上面我们知道,通过SBUnicode码我们可以在客户端显示表情符号,并且这个码的排列是十分有规律的,通过这个特点,我们可以通过遍历SBUnicode码的范围进行表情的创建...来做,十分方便:     //为了摆放分页控制器,创建一个背景view     bgView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen...布局     UICollectionViewFlowLayout * layout = [[UICollectionViewFlowLayout alloc]init];     //水平布局     ...=self;     scrollView.backgroundColor = bgView.backgroundColor;     [bgView addSubview:scrollView]; 在collectionView...inputView我们可以设置textView和textField成为第一响应时的弹出附件,如果我们不设置或者设置为nil,则会弹出系统键盘,reloadInputView方法可以使我们刷新这个附件视图

    3K10
    领券