github:https://github.com/levyleo/CSStickyHeaderFlowLayout iOS 10 使用时会出现崩溃:https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout/issues/144Swift 解决方法: override func viewDidLoad() { super.viewDidLoad() if #available(iOS 10.0, *) { self.…
[-] 一基本原理 二具体实现 相关数据结构 视图更新方式 relayoutViews方法 removeAndAddCellsIfNecessary方法 select方法 重用数据块视图机制 三使用方法 四其他瀑布流实现   PSCollectionView是一个实现较简洁的仿Pinterest瀑布流iOS版实现,使用UIScrollView做容器,每列列宽固定,高度可变,使用方式类似UITableView.其效果如图: 一.基本原理 其基本实现原理为: 列数固定,根据列数每列存储一个当前列的高…
网络 AFNetworking HTTP网络库 Reachability 网络监测 UI.布局 Masonry AutoLayout SnapKit AutoLayout Swift TOWebViewController Safari WebView MJRefresh 下拉刷新 CNPPopupController 弹出卡片视图 JMHoledView 带遮罩的引导视图 SZTextView 支持占位符的 UITextView 子类扩展 FSPagerView Banner swift No…
滑动时,tableview中的headerView 的frame不断改变,collectionView的headerView的center不断改变.sotableview: -(void)setFrame:(CGRect)frame{ [super setFrame:frame]; CGRect rect = [self.superview convertRect:frame toView:[UIApplication sharedApplication].keyWindow]; if (rec…
项目需要cell的间距,又不需要悬浮效果,百度之后找到这个方法,记录一下,备忘. 用UIScrollView的代理方法实现 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat sectionHeaderHeight = 10; //这里是我的headerView和footerView的高度 if (_tableView.contentOffset.y<=sectionHeaderHeight&&_table…
近期流行的一种界面效果,是瀑布流的header固定,也叫sticky header或者parallax.对于UITableView,能够比較方便地让table header固定,可是对于UICollectionView,原生的iOS API比較难以实现. 本文推荐一个开源组件.专门用于实现这样的效果:CSStickyHeaderFlowLayout 总体效果 贴个总体示意图 配合autolayout使用 首先须要注意的是,这个组件必须配合autolayout来使用.比方整个header分为4个部…
之前因为工作需要要实现一个类似的 悬浮+视差的headerView的效果, 研究了好久没研究出来怎么做,最后用UICollectionView + CSStickyHeaderFlowLayout的方法实现了(不得不说CSStickyHeaderFlowLayout真的是一个很强大的库,作者对UICollectionView的理解真的是深刻,建议有空一定要看一下他的源码).唯一有点小不爽的是我用了一个UICollectionView来实现了一个UITableView...   后来在gitHub…
CSStickyHeaderFlowLayout https://github.com/jamztang/CSStickyHeaderFlowLayout Parallax, Sticky Headers, Growing image heading, done right in one UICollectionViewLayout. 视差效果,悬停的headerView以及实时变化的headerView,一个UICollectionViewLayout就可以实现. Installation C…
UICollectionView的布局是可以自己定义的,在这篇博客中先在上篇博客的基础上进行扩充,我们先使用UICollectionViewFlowLayout,然后好好的介绍一下UICollectionView的一些回调方法,主要包括UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,UICollectionViewDelegate相关回调方法,并通过实例来介绍每个回调的用法.并且给每个Section添加定制的Header…
做了一段时间的iOS,在菜鸟的路上还有很长的路要走,把遇到的问题记下来,好记性不如烂笔头. 在项目开发中大家经常会用到tableView和collectionView两个控件,然而在cell的自定义上会有一定的不同 tableView 1.纯代码自定义cell,直接用init方法自定义,然后在UITableViewCell* 里面自己根据标识加载 -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(N…
// /* UICollectionView 类是iOS6 新引进的API,用于展示集合视图, 布局更加灵活,可实现多列布局,用法类似于UITableView类. - 更新视图: [collectionView reloadData]; - 自定义UICollectionViewCell,与自定义tableViewCell基本一致 */ #import "ViewController.h" @interface ViewController ()<UICollectionView…
文中相关知识点较多,只记载重点思路,相关部分都有对应注释说明,部分还需要优化,只是工作学习的一种思路. @import AVFoundation; @import Photos;   导入框架 - (void)viewDidLoad { [super viewDidLoad]; [self getallAblumInfo];得到相应相册的所有资源 } - (void)getallAblumInfo{ _localDic = [NSMutableDictionary dictionary];表示对…
UICollectionView 的使用是跟表的使用是一样,瀑布流的布局会比表的效果更好,这里说一下 collectionView 设置表头, 区头,区尾 设置表头可以约束 collectionView 居上的距离 其中区头,区尾 是继承 UICollectionReusableView // // HomePageViewController.m // MainStoryboard // // Created by mac on 16/4/21. // Copyright © 2016年 ma…
UICollectionView显示HeaderView FooterView 不如UITableView那么容易,常用会有两种做法: 1.Xib或者Storyboard 在属性一栏中设置一下: 如图所示, 2.代码设计Section的header和Footer: 好多都在找UICollectionView是否有这么个属性,比如上图说到Accessories什么的,其实不然.大家首先要搞明白意见事情,header和footer是追加视图,属于layout中的所以要代码设置section要在UIC…
效果 (关于gif怎么生成的.我先录手机的屏幕得到mp4文件.然后用这个网址:https://cloudconvert.com/mp4-to-gif 进行的mp4转换gif,使用的时候须要又一次选择gif的大小,不然生成的gif图片太大了) 效果包含下面几个方面 1. 当组的头部从屏幕顶部消失.并且组还有成员在屏幕内的时候.组的头部悬浮在屏幕顶部,并且为红色背景(我设置的组的头部是黄色背景) 2. 当下一个组的头部滑到屏幕顶部与红色的悬浮头部挨着的时候.把红色的头部顶走(红色头部随下一个组的头部…
楼主是在平板上測试的.图片略微有点大,大家看看效果就好 接下来贴源代码: PinnedHeaderExpandableListView.java 要注意的是 在 onGroupClick方法中parent.setSelectedGroup(groupPosition)这句代码的作用是点击分组置顶, 我这边不须要这个效果.QQ也没实用到,所以给凝视了.大家假设须要能够解开凝视 package com.xiaos.view; import android.content.Context; impor…
UITableView设置为UITableViewStyleGrouped样式会出现多余间距,以前遇到过这样的问题,自己以为不难,只是一个知识点,也没太在意 ,今天又碰到了,发现自己把它给忘了,所以还是记下来好点. 1.问题 self.tableView=[[UITableView alloc]initWithFrame:CGRectMake(, , self.view.bounds.size.width, self.view.bounds.size.height-) style:UITable…
#pragma mark -- 创建CollectionView - (void)createCollectionView{ //关闭自适应 self.automaticallyAdjustsScrollViewInsets = NO; UICollectionViewFlowLayout *fl = [[UICollectionViewFlowLayout alloc]init]; _collectionView = [[UICollectionView alloc]initWithFrame…
我们都知道UITableview有一个tableHeaderFooterView,这样我们在布局页面的时候,如果顶部有轮播图,可以直接把轮播图设置为tableView的HeaderFooterView,用起来很好用,但是,当我们用上CollectionView的时候,发现collectionView并没有HeaderFooterView这个属性,可是此时我们页面的架构是以colletctionView来实现的,而且collectionViewHeaderView也是有用到,如果有这样的需求,这里…
UITableView有两个headerView:tableHeaderView.和headerInsectionView(组头视图).   给tableView添加这两个View:tableHeaderView是通过tableView.tableHeaderView = XXXView 的方式添加的,而headerInsectionView是通过 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSI…
collectView 也是 iOS 很常用的瀑布流展示控件了,虽然使用过很多次,一直没有系统的总结过,尤其是在添加header 和footer view 的时候,很常见,写起来总觉得不是很流畅,这里着重备份下,留待备用…… 这里贴上最终的成品样子: 刚刚做demo 做了好久,这个控件,我也是醉了……,既然做完了,写步骤...... 在铺设下自己创建的类: 再次提示 这个 header 和footer 一定要分开继承,刚刚自己就是在这里 耽搁了大部分的时间 约束完成之后,主要提示下 ,自己耽误这…
上一节我们讲到了 Android 5.X新特性之RecyclerView基本解析及无限复用 相信大家也应该熟悉了RecyclerView的基本使用,这一节我们来学习下,为RecyclerView添加HeaderView和FooterView. 针对RecyclerView的头部和底部,官方并没有给我们提供像listView一样可以直接通过addHeaderView()/addFooterView()的方法,所以只能靠我们自己去实现了,那怎么实现呢?大家都知道RecyclerView已经为我们封装…
算法总体思路 先说一下总体上的思路.既然图片的大小.位置各不一样,我们很自然地会想到需要算出每个item的frame,然后把这些frame赋值给当前item的UICollectionViewLayoutAttributes. 自定义UICollectionViewLayout的关键两步是先后重载下面两个方法: - (void)prepareLayout; 和 - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect; 所以我们的思路是…
easyui的单元格提示窗体  鼠标悬浮事件 function findAllPreven() { var infoname = $('#area').val(); areadatagrid=$('#dg').datagrid({ rowStyler : function(index, row) { if (row.state == "0") { return 'color:red'; } else if (row.state == "1") { return 'c…
悬浮TabBar的实现 这个TabBar看着像是用自定义TabBar做的,但事实上它还是用的系统的TabBar,给系统的tabBar.backgroundImage设置一张设计好的背景图片. TabBar.8 添加后会发现顶部有一条阴影线,并且TabBar的高度也不够.阴影线与上图绿色线条之间变成了透明颜色,实现下面方法隐藏阴影线,并且调高TabBar的高度. TabBar.9 //隐藏阴影线 [[UITabBar appearance] setShadowImage:[UIImage new]…
又到了写点东西的时候,因为有了新的收获,所以用随笔来记录下自己的成长.话不多说,正入主题. 最近又遇到一个新的需求,有一组控件,需要悬浮显示在面板的边缘上,刚开始的时候,是不显示的,点击后显示,然后再次点击,隐藏.就这么一个功能,折腾了一天. 实现的方法很多,本次使用了DevExpress里面的DockLayoutManager控件.从DevExpress的官网上下载了一个Demo,然后学习了下.DevExpress的控件使用,搜索资料好像不多,当然也可能是我的搜索方法不对. <Window x…
最近在项目中需要实现一个水平的瀑布流(即每个Cell的高度是固定的,但是长度是不固定的),因为需要重写系统 UICollectionViewLayout中的一些方法通过计算去实现手动布局,所以本着代码可复用的原则(其实就是懒,不想再写一遍而已--),干脆把水平和竖直模式都集成到一个文件中,通过protocol去控制瀑布流的显示模式. 首先我们需要了解一下UICollectionViewLayout是个啥玩意,为什么通过它可以进行瀑布流的实现呢?在苹果官方Api Reference中我们可以看到,…
这两天接了一个需求,页面是这样的 然后需求是页面中的这个表格当页面向上滚动,且表格的表头到达窗口上方时,表头悬浮在页面的上方,表格正常滚动,这样表格内的数据可以随时看到表头内容. 一开始我认为这是极简单的,就当页面滚动,判断表头到窗口的距离,当=0的时候触发事件然后让表头position:fixed不就万事大吉了吗?于是我对漂亮又萌萌哒的产品妹子说,放心吧,这个简单的很一会就能完事,当时我的表情是这样的 但是当我开始写(首先你要知道,我是个js小白,表问我为什么...),问题就来了.首先,这个页…
方法有很多,有通过内容高度,经过代理回调,刷新的,甚至还有计算cell个数,然后根据cell大小计算的,这里推荐iOS 8新特性,通过AutoLayout,利用内容将cell撑起来; 关键代码: viewcontroller中: self.tableview.estimatedRowHeight = 40; self.tableview.rowHeight = UITableViewAutomaticDimension; cell中:这里要说明,给collectionview上下左右添加约束,再…
Android EditText悬浮在输入法之上 使用 android:windowSoftInputMode="adjustResize" 会让界面整体被顶上去,很多时候我们不需要这样的情况出现,这里给出另一个方案. 思路:监听输入法的状态,然后动态的滚动 EditText 所在的 ViewGroup 或者View 1. Android Manifest.xml <activity android:name=".InputActivity" android:…