UITableView,你了解多少

iOS 码拜 4年前 (2016-03-29) 501次浏览
最近本人总算把UITableView弄透彻了,以前自认为很熟,其实还是没有深入了解。
于是本人总结了一些相关的问题,这些问题并不是冷门和偏门,而是非常实用的技术。很多人就算有一年经验了,原因是不得其法,走了弯路,实现是实现了,但解决办法太山寨。
1.
一个UITableViewCell怎么样得到它的宿主UITableView对象?IOS7上他们的层次结构发生了什么变化?
2.
一个UITableView上有多个cell,那么除了你可以自定义cell以外,还有哪些内容是可以自定义的。这里友情提醒一下,还有表头可以自定义。那么,还有哪些呢?需要您再补充三个。
3.
UITableViewCell在ios6以及以前的版本上透明太容易了,那么在IOS7上怎么样透明?网上目前没有找到合适的方法,本人原创了一种!
4.
怎么样通过代码直接滑到UITableView的底部?代码虽然一行可以搞定,但要给出这个代码的第二个参数,这是关键。
5.
UITableView怎么样获取不可视的全部UITableViewCell对象?
6.
UITableView怎么样获取可视的全部UITableViewCell对象?
7.
在什么情况下
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
这个事件不会执行。此时应该怎么样解决cell的单击响应?
8.
怎么样让UITableViewCell响应单击事件,而又不出现单击时的按下效果?
9.
对于分组UITableView,怎么样改变组与组之间的间距。
10.
由xib加载自定义UITableViewCell的时候,怎么样让cell复用?这个看似简单,很多人不进行实际操作是无法休会到xib复用的。有些人为了解决这个麻烦,直接用纯代码在UITableViewCell上创建控件达到自定义的效果。纯代码控制复用好弄些,但纯代码画出来的cell可读性差,没有用xib设计出来的直观和设计时的高效,也不便于后期维护。所以,这个问题是怎么样让xib创建的cell复用?所谓复用,就是cell在滑出屏幕的时候不释放,再滑入屏幕的时候不重绘。注意用retain是没有效果的。
假如你能在短时间内给出全部问题的答案,那你就真是熟悉UITableView了。
以上十个问题的答案,本人相信先后会有一些人答出一部分,本人会在贴子满3页后,相继给出大家没有回答上来的问题的答案。这里欢迎大家一起交流学习。QQ群37204383
解决方案

1

好文章啊~支持支持

1

题主,,关于你写的UITableView有没有记录在博客啊,,发给链接学习学习呗UITableView,你了解多少

1

引用:

回4楼:没有博客。
回5楼:是低手是高手跟你关系不大。这里只交流问题,不讨论别人的水平。假如你不屑于这些问题,不参与更好。看到你的这个回复,哥就默默低下头,不是哥的修养好,而是哥在找砖头。

顶起

5

UITableViewCell在ios6以及以前的版本上透明太容易了,那么在IOS7上怎么样透明?网上目前没有找到合适的方法,本人原创了一种!
把tableview,和tableviewcell设透明就可以了。

3

http://blog.csdn.net/able_china/article/details/14228223
UITableView编辑模式

1

uitableview理解清楚了 基本对于ios开发的很多设计模式都会有更深的领悟。希望题主最后贴出完整答案,3ks

5

引用:

问一下,本人在cell每一行上面添加一个button,计划作为一个自定义的复选框,button被选中后会被cell重用机制重用,本人想问一下怎么避免种情况,求指导!

新手斗胆献上本人的答案,答错了求轻拍:给每个button添加target,目标指向包含tableview的控制器。
顺便期待满三页lz本人揭榜!

40

1.
一个UITableViewCell怎么样得到它的宿主UITableView对象?IOS7上他们的层次结构发生了什么变化?
> 找祖先view里isKindOfClass([UITableView class])。
2.
一个UITableView上有多个cell,那么除了你可以自定义cell以外,还有哪些内容是可以自定义的。这里友情提醒一下,还有表头可以自定义。那么,还有哪些呢?需要您再补充三个。
> footer, backgroundView, separator, 其他的想不出来,题主可以提出来看看能否自定义。
3.
UITableViewCell在ios6以及以前的版本上透明太容易了,那么在IOS7上怎么样透明?网上目前没有找到合适的方法,本人原创了一种!
> 清除backgroundColor\backgroundView\selectedBackgroundView,再用一个未文档化接口去掉separatorStyle。
4.
怎么样通过代码直接滑到UITableView的底部?代码虽然一行可以搞定,但要给出这个代码的第二个参数,这是关键。
> 目前本人用setContentOffset,没有关键性的第二参数,题主指的是scrollToRowAtIndexPath:atScrollPosition:animated:这个接口?
5.
UITableView怎么样获取不可视的全部UITableViewCell对象?
> 用cellForRowAtIndexPath:遍历获得全部cell,再去掉可见的,能获得不可见的cell,但感觉本人这方法有点挫。
6.
UITableView怎么样获取可视的全部UITableViewCell对象?
> visibleCells。
7.
在什么情况下
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
这个事件不会执行。此时应该怎么样解决cell的单击响应?
> allowsSelection = NO,在cell内响应。
8.
怎么样让UITableViewCell响应单击事件,而又不出现单击时的按下效果?
> UITableViewCellSelectionStyleNone。
9.
对于分组UITableView,怎么样改变组与组之间的间距。
> 修改header和footer的高度。
10.
由xib加载自定义UITableViewCell的时候,怎么样让cell复用?这个看似简单,很多人不进行实际操作是无法休会到xib复用的。
有些人为了解决这个麻烦,直接用纯代码在UITableViewCell上创建控件达到自定义的效果。纯代码控制复用好弄些,但纯代码画
出来的cell可读性差,没有用xib设计出来的直观和设计时的高效,也不便于后期维护。所以,这个问题是怎么样让xib创建的cell复
用?所谓复用,就是cell在滑出屏幕的时候不释放,再滑入屏幕的时候不重绘。注意用retain是没有效果的。
> 本人也常用xib自定义cell,但没看懂题主的“复用”的说法,但假如想做到“cell在滑出屏幕的时候不释放,再滑入屏幕的时候不重
绘”的效果,在DataSource里返回cell的时候不调用dequeueReusableCellWithIdentifier:应该就可以。

1

顶一下,呼唤题主

1

现在看怎么一页是是那么长的    先顶一下

41

UITableView,你了解多少

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明UITableView,你了解多少
喜欢 (0)
[1034331897@qq.com]
分享 (0)