`
zcw_java
  • 浏览: 305688 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
    }  
}


//选中cell时取消选中的颜色一直显示
注意这个要在- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath中写!!
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

//当前选中行设为非选中

[self.membersListView deselectRowAtIndexPath:membersListView.indexPathForSelectedRow animated:YES];
分享到:
评论

相关推荐

    设置UITableView Section的背景颜色和字体颜色

    在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。在某些情况下,开发者可能希望自定义UITableView的外观,比如改变Section的背景颜色和字体颜色,以满足特定的设计需求。以下是如何实现这一功能的...

    UitableView选中多行并且底部同时显示和删除选中行

    UITableView的多行选中效果,适合初学者,主要学习表格的选中事件,可以同时选中多行,并且在底部显示选中的行,可以滑动底部选中的行记录,点击显示的行记录,可以移除该记录,同时表格中改行更改为未选中状态。...

    UITableView选中行

    在iOS开发中,UITableView是一种常用的UI控件,用于展示列表数据。当用户需要与列表中的某一项进行交互,比如选择某一行时,我们通常会在选中的行上显示一个标记,如勾选标记(checkmark)。这个过程就是...

    UITableView单选

    在iOS开发中,UITableView是一种常用的UI组件,常用于展示列表数据。"UITableView单选"指的是在UITableView中实现单选功能,即用户只能选择一个条目,而不能同时选择多个。这个功能在许多应用场景中都很常见,例如在...

    UItableView操作大全

    本篇文章将深入探讨UITableView的"增删查改"四大核心操作,并结合Navdemo这个示例项目进行讲解。 首先,我们来看"增"。在UITableView中添加新数据通常涉及以下步骤: 1. **增加数据源**:当你有新的数据需要添加时...

    ios-自定义UITableView的右滑、左滑操作.zip

    自定义UITableView的右滑、左滑操作,支持图片和文字同时存在(图片在上,文字在下)。只需给出文字或图片,SwipeButton会自适应大小。3D动画效果是参考别人的 github:...

    UITableView、UITableView基本用法、UITableView详解

    UITableView 是 iOS 开发中最常用的控件之一,用于显示列表数据。它类似于 Android 中的 ListView,都是用于显示列表数据的控件。在 iOS 开发中,UITableView 是一个非常重要的控件,本文将详细介绍 UITableView 的...

    UITableView 三级菜单

    在iOS开发中,UITableView是一种常用的数据展示控件,用于创建列表或表格视图。当涉及到更复杂的层级结构,如三级菜单,我们需要巧妙地利用UITableView的特性来实现。在这个主题下,我们将深入探讨如何构建一个支持...

    UITableView 的缩放和展开

    在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。`UITableView`的缩放和展开功能通常是通过自定义扩展来实现的,特别是在构建类似下拉菜单或树形结构的界面时。`UITableViewDropDown`的概念可能指的...

    UITableView

    UITableView是iOS应用开发中不可或缺的一部分,特别是在Swift编程环境中。它是一种用于显示大量数据的视图控件,可以灵活地展示列表或表格形式的信息。在Swift中,UITableView的使用涉及到多个知识点,包括数据源...

    UITableView空数据处理

    在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。当UITableView没有数据时,界面显示一片空白,用户体验可能不佳。因此,"UITableView空数据处理"成为了一个重要的设计和编程考虑点。本篇将深入探讨...

    iPhone之UITableView入门

    本教程将带你入门iPhone上的UITableView使用,通过一个简单的示例项目"**MyTableView**"来深入理解其工作原理和基本操作。 首先,UITableView的主要组成部分包括:表头(HeaderInSection)、表尾(FooterSection)...

    IOS代码中使用自定义UITableView

    在iOS应用开发中,UITableView是一种常用的UI组件,用于展示列表数据。它允许用户滚动查看多个行项目,并且可以根据需要进行高度自定义。本篇文章将深入探讨如何在代码中实现自定义UITableView,以及在开发过程中应...

    UITableView教材

    ### UITableView教材:构建与操作教程 #### 一、Table的整个框架搭建 ##### 1、两种样式的初始化 UITableView 提供了两种不同的样式:`UITableViewStylePlain` 和 `UITableViewStyleGrouped`。这两种样式的选择取...

    IOS UITableView和NavigationBar的常用设置详解

    以上就是关于iOS中UITableView和NavigationBar的一些常见设置和操作。在实际开发中,你可能还需要根据需求调整字体、大小、动画效果等,这些都是提升用户体验的关键因素。同时,别忘了考虑不同屏幕尺寸和设备的适配...

    UITableview处理键盘遮挡

    在iOS开发中,`UITableView` 是一个非常常用且强大的组件,用于展示列表数据。然而,在实际应用中,我们经常会遇到一个问题:当用户在`UITableView`中的输入框(如UITextField)中输入时,弹出的键盘可能会遮挡住...

    UITableView:隐藏删除按钮和设置删除按钮的标题

    在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。在进行自定义表视图操作时,我们可能需要对单元格(UITableViewCell)的编辑功能进行控制,比如隐藏默认的删除按钮或者更改其标题。本篇文章将深入...

    UITableView加载图片 官方范例

    在iOS开发中,UITableView是一种常用的组件,用于展示列表或表格数据。在实际应用中,我们经常需要在UITableView的单元格中加载图片,以提供丰富的视觉体验。本示例项目"UITableView加载图片 官方范例"就是针对这个...

    在UITableView中自定义UITableViewcell实现ibooks图书列表样式

    如果需要Cell被点击后执行某些操作,比如跳转到详情页面,可以实现UITableViewDelegate的`- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath`方法,获取选中的Cell,并...

Global site tag (gtag.js) - Google Analytics