文档章节

iOS开发技巧(系列十:UITableView及其Cell的一些细节)

召唤攻城狮
 召唤攻城狮
发布于 2014/05/09 17:16
字数 631
阅读 2297
收藏 1
点赞 1
评论 0

今天看开源代码,有些UITableView方面细节的东西,整理了与大家共享,

1、设置UITableViewCell的accessoryView

有时候我们需要设置cell的一些样式,比如下图,

这个就是设置了cell的accessory属性的内容,如果我们想在上面显示Switch,则可以通过下面的代码,

cell.accessoryView = _modelSwitch;

这样就是用一个UISwitch对象_modelSwitch赋值给cell.accessoryView,当然你可以用任何UIView子类控件例如UILabel、UIButton。。。对象来给cell.accessoryView赋值,这样界面上面就会显示你想要的效果了。


2、设置UITableViewCell的accessoryType

如果希望cell上面显示一个浅灰色的箭头,可以通过accessoryType来达到目的,代码如下,

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

这样就设置了箭头装的type,我们可以设置多种类型,苹果定义的枚举类型如下,

typedef NS_ENUM(NSInteger, UITableViewCellAccessoryType) {

    UITableViewCellAccessoryNone,                   //不显示任何的accessoryView

    UITableViewCellAccessoryDisclosureIndicator,    //浅灰色箭头图标

    UITableViewCellAccessoryDetailDisclosureButton, //显示详情的按钮

    UITableViewCellAccessoryCheckmark,              //就是你考试时候打钩的钩形状

    UITableViewCellAccessoryDetailButton NS_ENUM_AVAILABLE_IOS(7_0) //

};

读者可以逐个试一试,找到自己想要的效果。如果上面的效果都不让人满意,那只能自定义cell,然后在cell上面放上UIImageView,并贴上自己设计的图片了。


3、设置UITableViewCell的点击风格selectionStyle,

有的时候我们需要点击cell时候相应的cell背景加深的效果,有的时候我们不需要,这时候可以使用下面的语句来实现,

settingCell.selectionStyle = UITableViewCellSelectionStyleNone

查看文档中的枚举类型如下,

typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {

    UITableViewCellSelectionStyleNone,

    UITableViewCellSelectionStyleBlue,

    UITableViewCellSelectionStyleGray,

    UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)

};

读者可以逐个试一试,这里只是抛砖引玉,不再赘述。


4、返回前一个页面的时候,cell去除点击效果

当我们点击cell,push进入下一个页面,然后再返回前一个页面的时候,这时我们发现cell有背景加深的效果,如下图所示,

想要去掉这种效果,只要在-(void)tableView...didSelect中添加如下代码,

#pragma mark - UITableViewDataSource method

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    //....

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

这样在返回前一个页面的时候,之前选中的cell就没有背景加深的效果了,如下图所示,

本人建了一个iOS交流群188647173,欢迎各位iOS大神前来交流。

© 著作权归作者所有

共有 人打赏支持
召唤攻城狮
粉丝 183
博文 53
码字总数 49671
作品 0
玉林
iOS开发笔记(八)---- 键盘、静态库、动画、Crash定位

前言 分享开发中遇到的问题,和相关的一些思考。 iOS11键盘问题 功能背景: 弹出键盘时,如果有输入框的话,需要输入框的位置跟随键盘大小而变动。 问题描述: 当快速切换键盘之后,容易出现...

落影loyinglin ⋅ 04/28 ⋅ 0

一个多UITableview的左右滑动简单解决方案

前言 本文源自实际开发中的需求,核心的要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview的滑动切换效果; 3、每个UITableview单独的下拉刷新和上拉加载; 效果...

落影loyinglin ⋅ 04/22 ⋅ 0

iOS逆向实战(微信自动抢红包下)

在前两篇文章中,我们详细介绍了如何反汇编、创建Tweak项目实现自动抢红包功能的思路。今天我们继续下篇,主要说两个事:添加一个开关控制自动抢红包,打包重签名安装到非越狱手机上。 添加抢...

LvesLi ⋅ 04/18 ⋅ 0

iOS UITableView获取特定位置的cell

一、tableView双级联动 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tableView顶部的cell的indexPath。 方案一:获得当前可见的所有cell,然后取可见cell数组中的第...

且行且珍惜_iOS ⋅ 05/23 ⋅ 0

Table View Programming Guide for iOS 官方文档翻译

About Table Views in iOS Apps( iOS应用程序中的Table View) Table views are versatile user interface objects frequently found in iOS apps. A table view presents data in a scrol......

zyq522376829 ⋅ 05/03 ⋅ 0

2018 年过去了一半,iOS 工程师如何自我提高。上篇

如果从 13 年移动客户端大火开始算起,至今已经有五个年头了。现在移动端的形势也不需要太多的废话来描述,一句话总结就是:“浪潮退去,谁在裸泳一看就清楚。”我希望借助这篇文章来聊聊在我...

浪漫程序员 ⋅ 05/22 ⋅ 0

一样的iOS开发程序员为什么有人4k有人40k?

前言 移动开发真正火起来其实就是最近这几年,iOS 开发技术因为发展也就才这么几年,所以值得做的事情还有很多,这就造成了每年苹果的 WWDC 都会推出一堆新的特性和 API。整体上来说,这对业...

原来是泽镜啊 ⋅ 05/16 ⋅ 0

iOS打造属于自己的用户行为统计系统

打造一款符合自己公司需求的用户行为统计系统,相信是很多运营人员的梦想,也是开发人员对技术的的执着追求。下面我为大家分一享下自己为公司打造的用户行为统计系统。   用户行为统计(Us...

贝勒老爷 ⋅ 04/20 ⋅ 0

高性能聊天页面解决方案 - CDChatList

CDChatList 高性能的聊天页面解决方案 对聊天列表的高度封装,可灵活配置页面样式 聊天界面其实大同小异,所以这里封装了一个聊天的组件,使用CoreText和手动代码布局,尽量实现简单,通用,...

chdo002 ⋅ 04/26 ⋅ 0

UITableView方法的执行顺序流畅性优化

(一)、UITableView的执行顺序 numberOfSectionsInTableView(确定有几组) -> numberOfRowsInSection(确定每组有多少的行) -> heightForRowAtIndexPath(确定每行cell的高度) 以上信息确定完毕...

朝雨晚风 ⋅ 2017/10/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 16分钟前 ⋅ 0

centos7 git安装

由于centos中的源仓库中git不是最新版本,需要进行源码安装。 1、查看yum仓库git信息 [root@iZm5e3d4r5i5ml889vh6esZ zh]# yum info gitLoaded plugins: fastestmirrorLoading mirror s...

xixingzhe ⋅ 25分钟前 ⋅ 0

input file 重复上传同一张图片失效的解决办法

解决办法 方法一:来回切换input[type='file']的type属性值,可以是‘text’,'button','button'....,然后再切换回来‘file’ 方法二:每次取消图片预览后,重置input[type='file']的value的...

时刻在奔跑 ⋅ 26分钟前 ⋅ 0

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 30分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 32分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 33分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 47分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 52分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 54分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 54分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部