首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【iOS7一些总结】9、与列表显示(在):列表显示UITableView

    列表显示,顾名思义它是在一个列表视图的形式显示在屏幕上的数据的内容。于ios在列表视图UITableView达到。这个类在实际应用中频繁,是很easy理解。...,还天生支持垂直滚动操作。...表视图所定义的协议方法由代理方法delegate和数据源方法data source方法组成。 托付方法一般用于实现个性化处理表视图的基本样式(如单元格的高度等)以及捕捉单元格选中的响应。...数据源方法用于完毕表中的数据。如指定单元格数。以及创建每个单元格。 要实现代理和数据源方法。...參数indexPath表示眼下正在创建的单元格位于整个表视图的第几行。 编译。执行,显示结果: 假设希望实现对选中某个单元格的响应,仅仅须要实现以下代理方法就可以。

    1.9K40

    AsyncDisplayKit 2.0 教程:入门「译」

    或 CALayer。...事实上,虽然他们定义了一些完全相同的方法,如 -tableNode:numberOfRowsInSection:,但两组协议也不完全相同,因为 ASTableNode 行为和UITableView还以所有不同的...image.png 真是一个流畅的 tableView!一旦你开始做了,那就让我们做的更好吧! 无限滚动 在大多数应用中,服务器的数据点的个数往往会多于当前 tableView 中显示的单元格数量。...通常,该范围的前侧大于后侧。当用户改变其滚动方向时,范围的大小也是相反的,以便于对应用户实际移动的方向。 Node接口的状态回调 你可能会疑惑:这些 Ranges 是如何正确工作的?...假设你有一个竖直滚动的tableView,在其中某些Cell包含了水平滚动的 collectionView。

    2.2K20

    【IOS开发基础系列】UICollectionView专题

    在对collection view的重用ID注册后,就可以像UITableView那样简单的写cell配置了:     MyCell*cell=[cvdequeueReusableCellWithReuseIdentifier...,语义上要比以前清晰,命名规则也比以前严谨了。...    • cell的选中状态     • 可以支持长按后的菜单         关于用户交互,UICollectionView也做了改进。...,用作cell平时的背景     • 再其上是selectedBackgroundView,是cell被选中时的背景     • 最后是一个contentView,自定义内容应被加在这个view上         ...需要注意根据滚动方向不同,header和footer的高和宽中只有一个会起作用。垂直滚动时section间宽度为该尺寸的高,而水平滚动时为宽度起作用,如图。

    90530

    【IOS开发基础系列】Table View开发专题

    做到前几点后,你的table view滚动时应该足够流畅了,不过你仍可能让用户感到不爽。常见的现象就是在更新数据时,整个界面卡住不动,完全不响应用户请求。...解决办法就是使用多线程,让子线程去执行这些函数或方法。这里面还有一个学问,当下载线程数超过2时,会显著影响主线程的性能。...//www.keakon.net/2011/07/26/利用预渲染加速iOS设备的图像显示 优化UITableView滚动性能 http://blog.csdn.net/chaoyuan899/article.../details/25467617 (good)复杂TableView在iOS上的性能优化 http://www.2cto.com/kf/201312/262041.html (ok)提升UITableView...性能-复杂页面的优化 http://www.imooc.com/wenda/detail/249535 关于UITableView的性能优化(历上最全面的优化分析) http://bbs.51cto.com

    38220

    iOS:分割控制器UISplitViewcontroller

    分割控制器UISplitViewController 功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边的为主控制器,右边的为详细控制器,主控制器可以根据需要显示或隐藏...NSArray *viewControllers; 代理方法:Split View不能没有delegate,如果没有设置delegate,那么当Split View进入Portrait模式的时候左侧就会消失...button from its toolbar [detailViewController removeSplitViewBarButtonItem:nil]; } 在iPad上的基本样式截图为...:(NSInteger)section { return self.dataObjects.count; } //设置每一个单元格的内容 -(UITableViewCell *)tableView...#pragma mark - //选中单元格时,设置详细控制器中的内容 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath

    2K30

    VVeboTableView 源码解析

    但是这个框架的作者却将它们都排列到一层上。 减少了子view的层级,有助于减少cpu对各种约束的计算。这在子view的数量,层级都很多的情况下对cpu的压力会减轻很多。...(使用layer或者裁剪图片),只是将一张圆角颜色和cell背景色一致的图片覆盖在了原来的头像上,实现了圆角的效果(但是这个方法不太适用于有多个配色方案的app)。...的快速滚动,保存目标滚动范围的前后三行的索引 知道了如何使用needLoadArr,我们看一下needLoadArr里面的元素是如何被添加和删除的。...NSInteger skipCount = 8; //快速滑动(跨度超过了8个cell) if (labs(cip.row-ip.row)>skipCount) { //某个区域里的单元格的...而且在手指触碰到tableview时和 tableview停止滚动后就会执行loadContent方法,用来加载可见区域的cell。

    1.2K10

    【IOS开发基础系列】UIScrollView专题

    1 UIScrollView原理        在滚动过程当中,其实是在修改原点坐标。当手指触摸后,scroll view会暂时拦截触摸事件,使用一个计时器。...假如定时器行动时,没有任何的大的位置改变,滚动视图就发送一个跟踪事件给触摸的子视图。如果在定时器消失前,用户拖动他们的手指足够的远,滚动视图取消子视图的任何跟踪事件,滚动它自己。...当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。...这里的例子是在scrollView上放置4个2排2列的视图,但是内存中只占用6个视图的内存空间。当scrollView滚动的时候,通过不停的重用之前视图的内存空间,从而达到节省内存的效果。...它在这些对象之间保持了松散的配对,视图本身与视图控制器或任何其它的控制器对象,委托不是滚轴视图的直接子类,它比起牢固配对的子类更加的松散。

    65630

    《iOS Human Interface Guidelines》——Table View表视图

    表视图 表视图在一个由多行组成的滚动单列清单中显示数据。...API NOTE 查看Table View Programming Guide for iOS和UITableView来学习更多关于在你的代码中定义表视图的内容。...一个表视图: 在可以分章节或分组的行中显示数据 提供让用户添加或移除行、选择多个行、查看关于一行条目的更多信息或显示另一个表视图的控件 iOS定义了两种风格的表视图: 简单风格。...NOTE 编程上,这些风格用于表视图的单元格,这是一种告诉表如何绘制行的对象。 Default(UITableViewCellStyleDefault)。...NOTE 所有四个标准表单元格风格都允许额外的表视图元素,比如勾选符号和扩展指示器。添加这些元素会减少标题和子标题可使用的单元格宽度。 清晰而有效地使用表视图来显示大量或少量的信息。

    2.4K20

    优雅的处理网络数据,你真的会吗?不如看看这篇.

    (Cache)和获取图像,来使你的 App 具有更高的响应速度 无限滚动,无缝加载 提到列表分页,相信大家第一个想到的就是 MJRefresh,用于上拉下拉来刷新数据,当滚动数据到达底部的时候向服务器发送请求...,然后在控件底部显示一个 Loading 动画,待请求数据返回后,Loading 动画消失,由 UITableView 或者 UICollectionView 控件继续加载这些数据并显示给用户,效果如下图所示...为了改善应用程序体验,在 iOS 10 上,Apple 对 UICollectionView 和 UITableView 引入了 Prefetching API,它提供了一种在需要显示数据之前预先准备数据的机制...那关于无限滚动该如何实现呢!其实这个无限滚动并不是真正意义上的永无止尽,严格意义上来讲它是有尽头的,只不过这个功能背后的数据是不可估量的,只有大量的数据做支持才能让应用一直不断的从服务端获取数据。...如何避免滚动时的卡顿 当你遇到滚动卡顿的应用程序时,通常是由于任务长时间运行阻碍了 UI 在主线程上的更新,想让主线程有空来响应这类更新事件,第一步就是要将消耗时间的任务交给子线程去执行,避免在获取数据时阻塞主线程

    1.4K20

    iOS开发中行高灵活可变的UITableView的性能优化

    iOS开发中行高灵活可变的UITableView的性能优化 一、UITableView的构建原理         在新闻类,电商类等应用中,应用着大量的图文混排视图,在表视图UITableView中,...开发者通常需要在如下代理方法中计算出当前cell填充内容后的高度,之后将其返回: -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath...上面列举的5中拉取cell高度的场景中,TableView配置部分只会在TableView第一次展现在屏幕上时出现,但是其拉取的是所有行的行高数据,如果表视图有100行或者更多,这将是一个十分耗费性能的过程...至于为何UITableView在进行配置时也需要拉取所有的行高数据,我猜想其为了进行视图的一些初始化操作,例如表视图右侧滚动条的宽度和所占比例等。...关于细节方面,还有一个问题需要注意,预估的行高会影响到TableView右侧滚动条的展现,如果每个cell行高跳跃跨度十分大,滚动条宽度的配置会失准,随着用户滑动表视图,右侧滚动条可能会出现长短跳跃的情况

    2K20

    DTCoreText的集成与使用目录一、相关资源二、DTCoreText的集成三、DTCoreText的使用四、可能遇到的错误五、参考链接

    ,计算富文本视图自适应后的高度 - (CGSize)getAttributedTextHeightHtml:(NSString *)htmlString with_viewMaxRect:(CGRect...) NSArray *dataSource; //当前表视图是否在滑动 @property (nonatomic,assign)BOOL isScrolling; @end 3.2.表视图代理方法返回单元格及其高度...,需要刷新表视图 [self reloadCurrentCell]; } } 3.4.创建富文本单元格的方法 #pragma mark - private Methods //创建富文本单元格...,并更新单元格上的数据 //ZSDTCoreTextCell是自定义的继承于DTCoreTextCell的单元格 - (ZSDTCoreTextCell *)tableView:(UITableView...return; } //如果当前表视图没有在滑动,就手动刷新当前在屏幕显示的单元格 NSArray *indexPaths = [self.tableView indexPathsForVisibleRows

    4.9K90

    有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?

    以网易新闻的客户端为例,可能的数据包括文字新闻,图片新闻,图集,推广,视频等.每一种数据,又根据来源或点击量等细分出许多不同的状态.基本上每种数据类型,都至少需要一种单独的Cell去呈现,每一个Cell...你确定自己的应用不希望大屏上一样能显示更多的图片?你确定老板不是盘算着 iPad版也交给你维护?...,然后计算cell高度.然后你会发现,凡是稍微涉及到图片显示的界面,你的显示是对的,但是滚动非常卡顿,因为你在自己浑然不觉的情况下创建了N个Cell,而且这些Cell绝对不会参与复用....Masonry — 使用纯代码进行iOS应用的autolayout自适应布局 2.使用 UITableView-FDTemplateLayoutCell 根据单元格内容的约束自适应单元格高度 ?...然后,他提到了一个第三方UITableView-FDTemplateLayoutCell,好像是国内的大神写的,具体介绍可以看这里: 优化UITableViewCell高度计算的那些事.这篇文章的博主关于

    92260

    跟iOS UI的捉迷藏(如何获取用户点击行为的控件title)

    1.如何获取用户控件的点击行为 事实上,由于获取的“所见所得”点击view行为,所以,思路上应该是对uiview或者及其子类得某个事件方法hook到,这样触发点击(广义上是触摸)行为后,可以根据发送的事件确定点击的...这里我们用第一个,sendAction:to:forEvent: 里面有三个参数,最后一个是event,可以通过allTouches方法,可以获得触摸点的集合,可以判断多点触摸事件 而touch.view...] text]; 下面加大难度,获取UITableView的cell内容 二阶获取的控件:UITableView的cell 通过上面的方法,当用户点击了红色字体的内容后,响应的view是UITableViewCellContentView...的superview,通过[[uitableview textLabel] text]方法获得,拐了一个弯,需要父view或子view,即二阶获取 二阶获取的控件:UITabBar UITabBar也是一个常用的布局...查官方文档 找到了一个,但是iOS14才开放的方法 可以升级后好好试一下,如果大家有好的方法获取,请留言。

    1.4K10

    自学Swift之路(二)UITableView自定义和实际利用

    self.presentViewController(buildListNVC, animated: true, completion: nil) } } 在登录后我们会进入一个表视图...,这个表视图的单元格是咱们自己定义的 import UIKit class BuildListTableViewCell: UITableViewCell { var logoImgView...ImageView和一个Label,虽然数据是死的,但是在Swift中,另外一个类是可以直接访问另一个类中的变量的(如果没做任何保护的话),所以我们在配置cell的时候是可以直接赋值的,这里就不弄了,然后我们看创建表视图那一块...} } 创建单元格的时候直接使用我们自定义的BuildListTableViewCell创建就行了 好了,这篇文章也完了,这只是一个非常简单的demo,大家平时工作要做的肯定不止这么点的,哈哈哈...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版的demo在我们官网:http://www.innsmap.com

    2.4K90
    领券