搜索栏+collectionView实现】的更多相关文章

  效果图如下:   1.h文件声明方法:   @interface IDSGameRoomSearchPage : UIView @property (nonatomic,weak) BaseViewController *parentController; - (instancetype)initWithParentControler:(BaseViewController *)controller; - (void)prepareView; @end   . 初始化方法 - (instan…
算法总体思路 先说一下总体上的思路.既然图片的大小.位置各不一样,我们很自然地会想到需要算出每个item的frame,然后把这些frame赋值给当前item的UICollectionViewLayoutAttributes. 自定义UICollectionViewLayout的关键两步是先后重载下面两个方法: - (void)prepareLayout; 和 - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect; 所以我们的思路是…
最近在项目中需要实现一个水平的瀑布流(即每个Cell的高度是固定的,但是长度是不固定的),因为需要重写系统 UICollectionViewLayout中的一些方法通过计算去实现手动布局,所以本着代码可复用的原则(其实就是懒,不想再写一遍而已--),干脆把水平和竖直模式都集成到一个文件中,通过protocol去控制瀑布流的显示模式. 首先我们需要了解一下UICollectionViewLayout是个啥玩意,为什么通过它可以进行瀑布流的实现呢?在苹果官方Api Reference中我们可以看到,…
方法有很多,有通过内容高度,经过代理回调,刷新的,甚至还有计算cell个数,然后根据cell大小计算的,这里推荐iOS 8新特性,通过AutoLayout,利用内容将cell撑起来; 关键代码: viewcontroller中: self.tableview.estimatedRowHeight = 40; self.tableview.rowHeight = UITableViewAutomaticDimension; cell中:这里要说明,给collectionview上下左右添加约束,再…
UICollectionView的布局是可以自己定义的,在这篇博客中先在上篇博客的基础上进行扩充,我们先使用UICollectionViewFlowLayout,然后好好的介绍一下UICollectionView的一些回调方法,主要包括UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,UICollectionViewDelegate相关回调方法,并通过实例来介绍每个回调的用法.并且给每个Section添加定制的Header…
CollectionView 通俗讲就是可以对你绑定的集合可以进行 分组,排序 等功能 CollectionViewSource  根据字面意思是xxx的数据源 详细的介绍还是看 http://www.cnblogs.com/zhouyinhui/archive/2007/12/07/987076.html 文字描述太复杂 了看不懂 最后只知道一句 可以对你页面绑定的集合(gridview listBox等)可以进行分组 排序等功能. 例子: <Window x:Class="WpfApp…
做了一段时间的iOS,在菜鸟的路上还有很长的路要走,把遇到的问题记下来,好记性不如烂笔头. 在项目开发中大家经常会用到tableView和collectionView两个控件,然而在cell的自定义上会有一定的不同 tableView 1.纯代码自定义cell,直接用init方法自定义,然后在UITableViewCell* 里面自己根据标识加载 -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(N…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Hiragino Sans GB"; color: #cf8724 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Hiragino Sans GB"; min-height: 21.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0p…
创建UICollectionViewFlowLayout 对象来设置相关的布局,包括itemSize,headerReferenceSize,sectionInset.设置对应的布局大小,相关的和顶部之间的间距等. UICollectionView创建对应的view并且定义对应的大小,设置代理方法和数据源对象. -(void)loadCollectionView { UICollectionViewFlowLayout * collectionViewFlow = [[UICollectionV…
// /* UICollectionView 类是iOS6 新引进的API,用于展示集合视图, 布局更加灵活,可实现多列布局,用法类似于UITableView类. - 更新视图: [collectionView reloadData]; - 自定义UICollectionViewCell,与自定义tableViewCell基本一致 */ #import "ViewController.h" @interface ViewController ()<UICollectionView…
开始考虑好一点点时间,因为一般的都是用xib,或者storyboard来写的.这次用纯代码...废话较多请看 首先把storyboard干掉,工程里面的main干掉 由于干掉了storyboard则启动的控制器要在Appdelegate中指定 #import "AppDelegate.h" #import "ViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (…
1.设置collectionView的高度 1.1为什么要设置高度? collectionView是在tableView的footView里面 , tableView能滚动,collectionView也能滚动 我们不想让collectionView滚动 1.2怎么可以让collectionView不滚动? 只要collectionView里面的内容不超出collectionView的最大高度就可以了 1.3怎么设置collectionView的高度 计算出collectionView内容高度…
近日因为系统升级导致xcode6.系列版本出现bug,于是开始使用xcode7.在使用之余突然想到collectionView在iOS9中发布了一个可以移动cell的新特性,就尝试着将其实现,无奈api文档接口无法查看,只有一些列的api放在那里.于是上网查找,发现国内没有搜索到此类文章,于是FQ继续找,最终找到的竟然都是swift版本,于是将其转换为oc版本以帮助国内需要的朋友学习使用.下面是具体用法: 1.创建collectionView并设置代理 - (UICollectionView *…
一直以来都想研究瀑布流的具体实现方法(起因是因为一则男女程序员应聘的笑话,做程序的朋友应该都知道).最近学习到了瀑布流的实现方法,瀑布流的实现方式有多种,这里应用collectionView来重写其UICollectionViewLayout进行布局是最为简单方便的.但再用其布局之前必须了解其布局原理.为方便大家学习理解此处补上demo地址https://github.com/PurpleSweetPotatoes/CollcetionViewLayout_demo 在这里笔者挑出其中较为重要的…
经过反复试验和错误很多,我发现当searchdisplaycontroller结束搜索,搜索栏会消失,所以我重新插入到搜索栏表头和它为我工作. - (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller { self.searchingFetchedResultsController = nil; if (floor(NSFoundationVersionNumber) > NSFound…
算法总体思路 先说一下总体上的思路.既然图片的大小.位置各不一样,我们很自然地会想到需要算出每个item的frame,然后把这些frame赋值给当前item的UICollectionViewLayoutAttributes. 自定义UICollectionViewLayout的关键两步是先后重载下面两个方法: - (void)prepareLayout; 和 - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect; 所以我们的思路是…
1.//创建组头组尾一个方法 - (UICollectionReusableView *)stCollectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath { UICollectionReusableView * reusableView = nil; if ([kind isEqua…
创建一个CollectionView 分为几个步骤 1.先创建布局FlowLayout 设置布局格式 2.创建CollectionView 并使用布局Flowlayout  -initWithFrame: collectionViewLayout: 3.遵循协议delegate dataSource 4.注册cell 5.添加到view #import "ViewController.h"#import "reusableview.h" - (void)viewDi…
一开始几页滑动是没有问题的,等滑到三四个页面之后,就出现奇怪的缝隙,一开始死活找不到原因,最后在layout的代理方法minimumLineSpacingForSectionAtIndex返回值设置为0才解决,一开始想我只显示一行,跟这个应该没什么关系吧,就没设置,其他的两个代理方法minimumInteritemSpacingForSectionAtIndex和insetForSectionAtIndex都返回的是0.最后没辙了,1个晚上过去了,加了一个代理方法,然后问题就奇妙的解决了. //…
//上下拉头尾部 self.collectionView.footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footRequestMore)]; self.collectionView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selec…
文中相关知识点较多,只记载重点思路,相关部分都有对应注释说明,部分还需要优化,只是工作学习的一种思路. @import AVFoundation; @import Photos;   导入框架 - (void)viewDidLoad { [super viewDidLoad]; [self getallAblumInfo];得到相应相册的所有资源 } - (void)getallAblumInfo{ _localDic = [NSMutableDictionary dictionary];表示对…
collectionView初始化时一定要加layout.不然会报错: UICollectionView must be initialized with a non-nil layout parameter. let layout = UICollectionViewFlowLayout() layout.scrollDirection = .horizontal layout.minimumInteritemSpacing = layout.itemSize = CGSize(width:…
1 使用UIDynamicAnimator对集合视图进行布局 1.1 问题 UIKit Dynamic动力模型一个非常有趣的用途就是影响集合视图的布局,可以给集合视图的布局添加各种动力行为,使其产生丰富多彩的效果,本案例使用UIDynamicAnimator对集合视图进行布局,实现一个弹性列表,如图-1所示: 图-1 1.2 方案 首先创建一个SingleViewApplication项目,给UIColor类创建一个分类UIColor+RandomColor,提供一个产生随机颜色的静态方法ran…
下面是我们要实现的效果.本效果是在上一篇自定义表视图的基础上进行更改的.     1.将Search bar and search display拖动到ViewController中.不要添加Search Bar. 2.修改ViewController的头文件 #import <UIKit/UIKit.h> @interface IkrboyViewController4 : UIViewController { NSArray *dataArr;//用于显示表视图的数据 NSArray *a…
前言: 这篇你可以学会自定义视图,创建collectionView,协议的使用,定时器; 自制图片 先上Demo:Github上封装好的下载即用, 好用请Star Thanks首先新建一个继承于UIView的视图, 且用collectionView实现所以需要签订两个协议代码如下: let sectionNum: Int = 100 // 区的数量 let width = UIScreen.mainScreen().bounds.size.width // 屏幕宽度 let height = U…
滑动时,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…
collectionView/tableview reloadSections/reloaddata时去掉动画无效时可以尝试使用 [UIView performWithoutAnimation:^{ [_collectionView reloadSections:[NSIndexSet indexSetWithIndex:2]]; //刷新操作 }];…
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.…
iOS中CollectionCiew由于多次点击,会给程序造成错误. 这个时候,我们可以用过手势类来进行判断和过滤. 但是,有一个快捷的解决方法,那就是给用户响应增加延时操作. 具体代码如下: [collectionView setUserInteractionEnabled:NO]; [collectionView performSelector:@selector(setUserInteractionEnabled:) withObject:[NSNumber numberWithBool:…
UICollectionView 的使用是跟表的使用是一样,瀑布流的布局会比表的效果更好,这里说一下 collectionView 设置表头, 区头,区尾 设置表头可以约束 collectionView 居上的距离 其中区头,区尾 是继承 UICollectionReusableView // // HomePageViewController.m // MainStoryboard // // Created by mac on 16/4/21. // Copyright © 2016年 ma…