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

UI篇-UICollectionView 补充

可以在VC中具体实现对应的方法: 定义每个Section的约束,具体作用是靠近左右边缘的距离,这里定义的上下距离约束会被其他协议覆盖掉 -(UIEdgeInsets)collectionView:(...---- 也可以自定义一个 继承于 UICollectionViewFlowLayout 的约束,在自定义的约束中实现更强大的功能。比如这样的: ?...item 的具体Frame attri.frame = CGRectMake(cellX, cellY, cellWidth, cellHeight); 实例中在自定义的方法中高度返回的是随机值:...使用UIScrollView,主要技术点在于视图的重用。...使用UICollectionView,UICollectionView在iOS6中第一次被介绍,它与UITableView有许多相似点,但它多了一个布局类,而实现瀑布流,就与这个布局类有关。

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

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

    前言 今天跟大家来聊聊一个强大的 UI 控件:UICollectionView。...UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,在开发过程中我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...;相比 UITbleView,UICollectionView 的功能比它要强大的多,它支持水平与垂直俩种方向的布局,开发者可以完全自定义一套 layout 布局方案,实现出意想不到的效果。...JUST DO IT 想到滚动,大家首先想到的肯定是用 UIScrollView + UIImageView 的方式来实现,但是 UICollectionView 给我们提供了更好的选择,因为它本身继承自...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。

    2.1K20

    iOS开发中利用UICollectionView创建文字轮播控件

    轮播效果图 实现过程: 上网搜索相关demo 搜到一个demo,demo是利用UIScrollView实现的 思考:既然能用UIScrollView实现为什么不用UITableView去实现呢?...网上再搜索相关demo,发现了利用UICollectionView实现该效果的一个demo。发现此demo的效果很好、代码易于理解、可扩展性高。 自己手动敲一个demo实现需求的效果。...手动敲demo: 先在当前控制器的view上添加一个UICollectionView,每个item的大小等于UICollectionView的大小。...再添加一个定时器,每隔一定的时间让UICollectionView进行滚动。...最终效果图 demo地址:https://gitee.com/liangsenliangsen/uicollectionview_text_carousel 本篇文章到这里就结束了,愿大家加班不多工资多

    1.3K20

    仿淘宝类电商秒杀分页控件(附源码)

    淘抢购页面.png 可以发现,只要滚动到了中间红色那块区域的文字,颜色都会变成白色。。。 脑洞了很久也没有想到思路!后来网上查找,从一篇文章中得到了灵感 视错觉结合UI。...实现: 知道了原理,那就开始构思: 1、我的实现思路是用UICollectionView来实现滚动菜单; 2、需要两个UICollectionView,UICollectionViewCell的文字内容一样...的滚动需要同步; #pragma makr - 同步滚动 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { UICollectionView...我的初衷其实就是把这个滚动菜单封装出来,后来发现使用这个菜单的大部分情况都是和多个子控制器一起使用,所以就再进行了一步封装,把控制器的逻辑都封装到了GFPageViewController控制器中。...其中比如自定义View的正确姿势;UIScrollView中一些代理使用的细节问题;让自己的组件支持Pods等。 获取源码方式:点击左上方「网罗开发」关注并回复 “210425” 即可获取。

    1.3K20

    新闻类App顶部菜单栏封装

    概述 最近有一个需求,类似今日头条顶部的菜单栏。唯一区别是需要带可移动的下划线。网上查找资料,发现解决方案大部分是用UIScrollView实现。下方VC控制用UICollectionView。...这样可以解决问题,但是不完美,当标签很多的时候,这时候的UIScrollView上会有大量写死的Button,没有达到复用的目的。所以自己封装了一个空间。...在collectionView中,滑动cell的时候其实只是offset在变,cell的frame其实是不变的,collectionView其实也是个ScrollView,cell是加在scrollView...方法中操作 public func scrollViewDidScroll(_ scrollView: UIScrollView) { if isForbideScroll { return...初始化方法修改后记得在ScrollPageView中修改自定义VC的初始化。

    1.1K20

    textview长按复制_android-TextView的长按复制

    大家好,又见面了,我是你们的朋友全栈君。 引子 android很多app都支持文本的选中,复制。...根据观察,主要分为两类: 1)自由复制(弹出框里面支持全选) 2)仅支持全选复制 今天工作中遇到了全选的需求,现总结出来,方便以后查阅....自由复制 这种方式很简单,只需要两行代码,(下面的红色) android:layout_height=”wrap_content” android:text=”长按自由复制”android:textColorHighlight...=”#CCCCCC”android:textIsSelectable=”true” /> 运行起来; 长按这个TextView,就会出现系统自带的弹出框。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.7K20

    UIScrollView

    前面两篇文章聊的UITableView和UICollectionView都是继承自UIScrollView,本篇文章就来简单聊聊UIScrollView。 ?...frame是视图在屏幕中展示的位置和大小,也就是可视区域的位置和大小。 contentSize是scrollView视图的内部内容可以滚动的区域大小,也就是scrollView视图内容的实际大小。...UIScrollView的一些常用的代理方法如下: #pragma mark - UIScrollViewDelegate //监听页面滚动,根据scrollView.contentOffset来做业务逻辑...中断一些业务逻辑,比如视频、gif的播放(在列表拖动的时候停止播放gif和视频) - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView...用于页面滚动停止的时候开启一个逻辑,比如视频自动播放(页面停止滚动后,开启视图滚动前暂停的gif或者视图的播放) - (void)scrollViewDidEndDecelerating:(UIScrollView

    90520

    iOS10 Swift3.0 XCode 8 总结

    1,iOS10 新增的privacy settings iOS10添加了新的权限控制范围 如果你尝试访问这些隐私数据时得到如下错误: > This app has crashed because it...,想要达到之前的效果需要在父级控件上调用layoutIfNeed 4, NSDate Swift3.0会将oc的NSDate转为Data类型,有些操作NSDate的第三方库会闪退 5, Notification...性能优化 在iOS10 UICollectionView 最大的改变是增加了Pre-Fetching(预加载), 如果你翻看UICollectionView的最新API你可以发现新增了如下属性: @...a subset of the previous call to -collectionView:prefetchItemsAtIndexPaths: - (void)collectionView:(UICollectionView...UITableView并没有找到 isPrefetchingEnabled属性的定义 13,iOS10 UIScrollView 新增 refreshControl 属性 UIScrollView新增了

    79810

    MJRefresh源码分析 原

    ——QQ 316045346 欢迎交流 一、MJRefresh源码结构分析      MJRefresh主要为UIScrollView,UITableView和UICollectionView添加头部和尾部刷新控件...这两个组件是作为子视图添加在UIScrollView上的,因此和UIScrollView的原生头尾视图都不影响。...在以前版本的MJRefresh中,使用的是header和footer属性,容易产生疑惑,因此后面版本框架中都添加了mj前缀。    ...将UITableView和UICollectionView的reload函数进行替换,这样做的目的是为了在数据加载时统计界面的元素个数。...还有一个小细节,也可以看出MJRefresh对复用的追求,在setState函数的实现中,如果新的状态与旧的状态一致,则不需要做任何逻辑,所有的setState函数都需要这个逻辑,MJRefresh中采用的宏的方式进行替换

    69210

    iOS流布局UICollectionView系列二——UICollectionView的代理方法

    iOS流布局UICollectionView系列二——UICollectionView的代理方法 一、引言         在上一篇博客中,介绍了最基本的UICollectionView的使用和其中我们常用的属性和方法...,也介绍了瀑布流布局的过程与思路,这篇博客是上一篇的补充,来讨论关于UICollectionView的代理方法的使用。...下面的方法是可选实现的: 虽然这个方法是可选的,一般我们都会去实现,设置分区数 - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView...UICollectionReusableView *)view forElementOfKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath; 这个方法设置是否展示长按菜单...*)indexPath; 长按菜单中可以触发一下类复制粘贴的方法,效果如下: ?

    2.1K20
    领券