tabl-cell】的更多相关文章

本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的重点不是如何讨论Cell高度的自适应,而是给出几种Cell高度自适应的解决方案,然后对比起UI流畅度,从而得出一些UI优化的一些常规做法.今天博客中主要用涉及的第三方库是YYKit和AsyncDisplayKit. 关于YYKit和AsyncDisplayKit这两个库,本篇博客只是简单的涉及到一些…
本文翻译自:stackoverflow 有人在stackoverflow上问了一个问题: 1 如何在UITableViewCell中使用Autolayout来实现Cell的内容和子视图自动计算行高,并且能够保持平滑滚动的? 这个问题得到了300+的支持和450+的收藏,答案得到了730+的支持,很详细的说明了如何在iOS7和iOS8上实现UITableView的动态行高功能,并且这个答案对实现UICollectionView的动态行高也具有参考意义.所以在这里将这个答案翻译了一下,希望对大家有所…
"UITableView" iOS开发中重量级的控件之一;在日常开发中我们大多数会选择自定Cell来满足自己开发中的需求, 但是有些时候Cell也是可以不自定义的(比如某一个简单的页面,只需要展示一些简单的信息);但是当页面大于屏幕显示的范围的时候, 滑动UITableView的时候,Cell上的内容会出现混乱或者错误的现象,经过反复的查找问题应该是出现在UITableViewCell的重用机制上;那么下面我们就来说一下解决这种问题的几种办法,以及最好的解决办法: (一)使用系统的Ce…
UICollectionViewFlowLayout里面: // 方法一 - (void)prepareLayout{} // 方法二 - (nullable NSArray<__kindof UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect 贴出具体代码,注意方法二,要和一个带bool返回值的方法一块用: class CoverFlowLayout: UICollectio…
简单粗暴,一看就能明白 关于右滑cell,能滑出来两个以上的选项栏,可以如下这么做,但是要注意下面的注意事项,就是关于iOS8前后的问题,注释写的很清楚了.可以直接复制到自己的代码里看的会更明白. //允许cell可以进行编辑 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{ return YES; } //cell的编辑类型 - (UITableViewCellE…
实际写项目会碰到各种各样的问题,废话不多说 按钮添加到cell时,根据是直接添加到self还是self.contentView上,在点击方法里找到btn的父视图 我是直接添加到self上,所以只有一层 - (void)btnClicked:(UIButton *)btn { UIView *v =[btn superview]; UICollectionViewCell *cell = (UICollectionViewCell *)v; NSIndexPath *tapIndexPath =…
UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影).滑动卡顿等问题,这里只简单敲下几点复用出错时的解决办法: 1.取消复用机制(放弃了内存,当数据过多时可能会出现卡顿,所以要慎用) 1a.更换方法,使用indexPath来创建cell 将方法:- (nullable __kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSStr…
关于点击TableviewCell的子内容收放问题,拿到它的第一个思路就是, 方法一: 运用UITableview本身的代理来处理相应的展开收起: 1.代理:- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 2. 需要声明一个全局BOOL变量isOpen,记录当前cell的状态(展开/收起),声明一个NSInterge类型selectedIndexRow,记录选择…
前言 API 不熟悉导致的问题,想当然的去理解果然会出问题,这里记录一下 UICollectionView 使用问题. 声明  欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 陷阱一:minimumLineSpacing.minimumInteritemSpacing 很容易就把这两个属性设置为 0 ,这两个属性是最小行间距和最小列间距,注意是最小!!也就是说实际上可以 > 0 ,…
这是个很诡异的问题,由于一些特殊需求,我的TableView的Cell的背景色是透明,其中的控件会有背景色,第一个控件和最后一个控件我都用IB自动设了约束,对齐Cell的左边界和右边界,但是自动约束很奇怪的是值都是-8(上下左右都是这个值).一开始并没在意因为显示出来是好的,但是不记得升级SDK到8.2还是8.3开始,左右就会多出空白来. 经过各种尝试,找到了解决方法.将左右的约束中item的related to margin(印象中是这么拼)取消勾选,值设为0就好了. 下班了等人,mac关了没…
原文地址:http://blog.csdn.net/ysughw/article/details/9288307 POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误. 异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric cell的异常错误. 此异常常见于类似如下代码中:row…
1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 (先要调用父控件的nitWithStyle:reuseIdentifier:方法) 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 数据模型: 存放文字数据\图片数据 frame模型: 存放数据模型\所有子控件的fr…
先上图给看看效果 cell单选逻辑就是取出上一个选中的cell 设置图片为默认图片 在取出点击的cell 设置图片为选中图片即可 废话不多说直接上代码 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000; min-height: 15.0px }…
// 设置边框的宽度 cell.layer.borderWidth = 1 // 设置边框的颜色 cell.layer.borderColor = UIColor.blackColor().CGColor // 设置UIView的边框为圆角和展现 cell.layer.cornerRadius = 10 //自动遮罩不可见区域,超出的不显示 cell.layer.masksToBounds = true cell.backgroundColor = UIColor.whiteColor()…
在删除的时候,先删除数据源,再删除cell 但是,会发现一直崩: numberOfRowsInSection 解决方案:…
#import "ViewController.h" @interface ViewController () <UITableViewDataSource, UITableViewDelegate> @property (nonatomic, retain) UITableView *tableView; @property (nonatomic, retain) NSMutableArray *allDataArray; @end @implementation Vie…
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat viewHeight = scrollView.height + scrollView.contentInset.top; NSArray *cells = self.tableView.visibleCells; ; i < cells.count; i++) { UITableViewCell *cell = cells[i]; CGFloat y = cell.…
最近项目中遇到在cell中获取webView的内容的尺寸的需求 实现的思路其实很简单 就是通过执行js 获取尺寸即可 为了后面用着方便我直接封装了一个HTML的cell 起名就叫 STHTMLBaseCell 下面是实现代码: #import "STBaseTableViewCell.h"@class STHTMLBaseCell; @protocol STHtmlBaseDelegate <NSObject> - (void)webViewDidLoad:(STHTMLB…
初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguoliangiOS/ZJGenWoYou.git 自定义cell 下面是controller 例外说一点懒加载 OC的懒加载 @property (nonatomic, strong) NSMutableArray * dataSource; - (NSMutableArray *)dataSource…
UITableView是UITableViewStylePlain风格的,这样整个TableView都会被分割线分隔开,不管有没有数据,非常丑. 为了可以自定义cell的分割线: 解决方案: 将UITableView的separatorStyle属性设置为UITableViewCellSeparatorStyleNone即可,如下: tableView.separatorStyle = UITableViewCellSeparatorStyleNone;…
前几天在gitHub看到个不错的效果,就是DaiExpandCollectionView,效果如图:   所以赶紧下下来源码看看他怎么实现的,打开源码看了半天,发现他没写什么关于动画的代码啊... 经高人指点,才明白原来他是利用了UICollectionViewFlowLayout的隐式动画!   所谓隐式动画,就是系统自带的动画了,其实也不是什么高大上的东西,关键是我怎么就没想到可以这么用!   研究了半天人家的源码,基本了解了他实现的思路,然后发现他的这个库用起来比较不方便,需要继承他的co…
一个朋友问我:我在每个cell中都添加了两个按钮(记为btnA和btnB),点击btnA时,对应的cell中添加一个子控件,再点击btnB时,对应的cell中的子控件就移除,怎么做到? 百度了一下,发现了解决办法: 首先,创建btn时,给每个btn加一个tag值 //创建cell方法 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { sta…
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -(void)viewDidLayoutSubviews {          if ([self.mytableview respondsToSelector:@selector(setSeparatorInset:)]) {         [self.mytableview setSeparatorInset:UIEdgeInsetsZero];       }     if ([self.m…
去除多余cell YourTableview.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 最后一行cell底线顶头显示 static void setLastCellSeperatorToLeft(UITableViewCell* cell) { if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:…
UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能让自定义cell自适应高度的方法 下面举例的是让自定义cell中的UILabel能够根据文字内容的多少自适应高度 //求一段文本的显示高度+ (CGFloat)heightForString:(NSString *)string { //字典dic中存的是UILabel中显示文字的字体信息 NSDi…
一个问题引发的血案,以下是本侦探的探案过程的一部分:以下全部都是转载自别人的博客:http://blog.sina.com.cn/s/blog_9c3c519b01016aqu.html 转自:http://www.2cto.com/kf/201207/144337.html 今天在看iphone开发秘籍的时候,遇到这个问题,就仔细的深入了一下,通过测试,获取了一些自认为还不错的结论,希望对大家在cell复用方面遇到的一些问题会有所帮助. 本篇文章只讲原理,对于如果对cell做界面,不深入讲述.…
plist 文件读取 例如在工程里倒入了plist文件 在工程里需要用到plist文件里的信息,就需要把plist文件读取出来. 如程序: -(NSArray *)moreDataArr{ if (!_moreDataArr) { NSString *plistPath = [[NSBundle mainBundle]pathForResource:@"MoreData.plist" ofType:nil]; _moreDataArr = [NSArray arrayWithConte…
1.// 重新绘制cell边框 func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { let cornerRadius: CGFloat = 10 cell.backgroundColor = UIColor.clearColor() let layer = CAShapeLayer() let pathRe…
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // tableview顶部空白 self.automaticallyAdjustsScrollViewInsets = false tableView = UITableView(frame: CGRectMake(10, 64, UIScreen.m…
做了一段时间的iOS,在菜鸟的路上还有很长的路要走,把遇到的问题记下来,好记性不如烂笔头. 在项目开发中大家经常会用到tableView和collectionView两个控件,然而在cell的自定义上会有一定的不同 tableView 1.纯代码自定义cell,直接用init方法自定义,然后在UITableViewCell* 里面自己根据标识加载 -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(N…