UITableView取消选中颜色、常用操作
UITableView取消选中颜色、常用操作
使用空白view取代cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//取消选中颜色
UIView *backView = [[UIView alloc] initWithFrame:cell.frame];
cell.selectedBackgroundView = backView;
cell.selectedBackgroundView.backgroundColor = [UIColor clearColor];
//取消边框线
[cell setBackgroundView:[[UIView alloc] init]]; //取消边框线
cell.backgroundColor = [UIColor clearColor];
}
//在navigation中tableviewCell选中后返回无选中项
//单击一个cell
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
if(cell.tag == 0){
//注销cell单击事件
cell.selected = NO;
}else {
[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES]; //取消选中项
BabyScheduler *babyScheduler=[listData objectAtIndex:indexPath.row-1];
[delegate showVaccinationView:babyScheduler];
}
}
- (void)viewDidLoad
{
self.title = NSLocalizedString(@"TempGroupViewTitle", @"");
self.view.backgroundColor=[UIUtils defaultViewBackground];
self.tempGroupTableView.backgroundColor=[UIColor clearColor];
self.tempGroupTableView.separatorColor=[UIColor clearColor]; //分割cell线颜色
self.tempGroupTableView.separatorStyle=UITableViewCellSeparatorStyleNone; //不带分割线样式
self.tempGroupTableView.rowHeight=45.0;
self.navigationItem.rightBarButtonItem = self.editButtonItem; //添加navigation按钮
self.groupList = [DBManager selectTempGroup]; //获取分组信息
// NSLog(@"-----%d",[groupList count]);
[super viewDidLoad];
}
if (!cell)----当cell为空?真:假
//设置cell的高度
#pragma mark - Table view delegate
-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
if(section==1)return 45;
return 0;
}
//返回自定义hrader
-(UIView*) tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section
{
if (section==1) { //第二区
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 305, 38)];
UIImageView* backgroundView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"title.png"]];
backgroundView.frame=CGRectMake(0, 0, 123, 38);
[view addSubview:backgroundView];
[backgroundView release];
view.backgroundColor=[UIColor clearColor];
UILabel *label=[[UILabel alloc] initWithFrame:CGRectMake(30, 0, 93, 38)];
label.backgroundColor=[UIColor clearColor];
label.textColor=[UIColor whiteColor];
label.text=NSLocalizedString(@"Section_Title_My_Group_Name", @"");
[view addSubview:label];
[label autorelease];
return [view autorelease];
}
return nil;
}
//向tableview填充数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//当第一个分区得最后一行
if ((indexPath.section==0)&&(indexPath.row==[groupList count])) {
static NSString *AddGroupViewCellIdentifier = @"AddGroupViewCell";
UITableViewCell *cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:AddGroupViewCellIdentifier] autorelease];
// key 说明性文字
cell.textLabel.text=NSLocalizedString(@"Add_New_Group", @"add new group");
cell.textLabel.backgroundColor=[UIColor clearColor];
cell.textLabel.textAlignment=UITextAlignmentCenter; //cell中text文本居中
cell.backgroundColor=[UIUtils defaultContactCellBackgroundColor];
cell.tag=-1;
return cell;
}
static NSString *SimpleTableIdentifier = @"GroupListViewCell";
//使用自定义cell
//查找SimpleTableIdentifier的cell,为空初始化
GroupListViewCell *cell = (GroupListViewCell *)[tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier];
if (!cell)
{
[[NSBundle mainBundle] loadNibNamed:SimpleTableIdentifier owner:self options:nil];
cell = groupCell;
cell.backgroundColor=[UIUtils defaultContactCellBackgroundColor];
self.groupCell = nil;
}
cell.group=[groupList objectAtIndex:indexPath.row];
//设置cell右边箭头,v等等,有枚举变量可供选择
// cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
NSUInteger row = [indexPath row];
cell.tag = row;
[SimpleTableIdentifier release];
return cell;
}
cell可删除
// 指定tableview可删除的区域
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return indexPath.section==1?YES:NO;
}
//可删除的cell
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
NSUInteger row = [indexPath row];
if (row == [groups count]) {
return UITableViewCellEditingStyleNone;
}else {
return UITableViewCellEditingStyleDelete;
}
}
// 删除之后
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[self deleteGroup:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
//当前选中行设为非选中
[self.membersListView deselectRowAtIndexPath:membersListView.indexPathForSelectedRow animated:YES];
UITableView取消选中颜色、常用操作的更多相关文章
- UITableView 之 取消选中
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [table ...
- jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等
转载:https://blog.csdn.net/chenchunlin526/article/details/77448168 jQuery操作复选框checkbox技巧总结 --- 设置选中.取消 ...
- UITableView取消cell选中状态关于deselectRowAtIndexPath
有没有遇到过,导航+UITableView,在push,back回来之后,当前cell仍然是选中的状态. 当然,解决办法简单,添加一句[tableView deselectRowAtIndexPath ...
- jquery操作checkBox 一次取消选中后不能再选中
$("input[type='checkbox']").each(function(){ $(this).attr("checked","checke ...
- 用ArcGIS?37个Arcmap常用操作技巧可能帮到您
1. 要素的剪切与延伸 实用工具 TASK 任务栏 Extend/Trim feature 剪切所得内容与你画线的方向有关. 2. 自动捕捉跟踪工具 点击Editor工具栏中Snapping来打开Sn ...
- DataGridView常用操作
一.DataGridView列右击菜单事件处理 (1). 添加一个快捷菜单contextMenuStrip1:(2). 给dataGridView1的CellMouseDown事件添加处理程序: pr ...
- [编辑器]vim常用操作
我是ide的用户,对于vim一只停留在:打开.看.写.关闭基本操作,因为现在更多的接触linux服务器,所以为了提高 效率,用好vim是必备技能!下面罗列一些vim的常用操作,用做备忘(不断更新): ...
- fiddler常用操作之断点
fiddler常用操作断点 标签(空格分隔): fiddler断点 一.断点: 1.为什么要打断点呢? 比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于1 ...
- python+selenium实现动态爬取及selenuim的常用操作
应用实例可以参考博客中的12306自动抢票应用 https://www.cnblogs.com/mumengyun/p/10001109.html 动态网页数据抓取 什么是AJAX: AJAX(Asy ...
随机推荐
- Android实例-红外线操作(XE10.2+小米5)
相关资料: http://blog.csdn.net/qq_21752153/article/details/50244717https://developer.xamarin.com/api/typ ...
- pdo_mysql安装
如果编译时没有编译pdo模块,可以cd 到php编译时的目录,重新编译 1.切换到pdo_mysql目录,如php-5.5.10/ext/pdo_mysql/ 2.生成configure文件,在pdo ...
- Android——监听事件OnLongClickListener
.xml <Button android:layout_width="wrap_content" android:layout_height="wrap_conte ...
- win10系统中UserManager 总是被禁用怎么解决?
RT,也就是提示win10开始菜单和cortana无法工作.升级win10后一直被这个问题困扰,论坛也见有人发帖求助这类问题,百度了方法打开任务管理器进入服务更改User Manager启动类型为自动 ...
- ansible 的user模块
user模块与group模块 user模块是请求的是useradd, userdel, usermod三个指令,goup模块请求的是groupadd, groupdel, groupmod 三个指令. ...
- 去掉CSS中的表达式Expression
在IE中,CSS是可以嵌入js表达式的,可以在CSS类中定义,但是将含有表达CSS类从DOM对象中移除,样式表达式是不会失效的. 经过研究找到了答案,需要使用js调用style对象的removeExp ...
- PHP 初学之登录查询小case
说明:如误入本文,请忽略即可,内容仅为记录. 功能:登录(不验证),查询所有列表,删除记录.--很简单,仅为熟悉代码. // MySQL,新建数据库data,导入如下sql ; -- -------- ...
- Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0
场景: 192.168.7.27 需要访问 192.168.7.175 上的MySQL数据库,连接时报错. 原因: MySQL的配置文件默认没有为远程连接配置好,需要更改下MySQL的配置文件. 解决 ...
- C#多播委托/多播代理
定义:委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针.理解委托的一种方式可以把委托的作用当作是给方法签名指定名称.委托的定义类似于方法的定义,但没有方法体,定义的委托名前要加上关 ...
- php -- 实现linux关机、重启功能
有时候,我们自己可以DIY一个控制面板实现linux的关机重启功能.众所周知,linux是一个基于文件的操作系统,所以要实现系统的关机重启功能必须满足以下两点 一.知道命令的绝对路径 在linux下操 ...