zoukankan      html  css  js  c++  java
  • 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];

     
     
  • 相关阅读:
    循环语句格式
    使用switch编写一个购物管理系统
    浅谈Spark(1)
    Java内存回收优化及配置
    同步、异步、阻塞、非阻塞IO
    安装聊天软件telegram-cli
    linux命令行下使用vboxmanage安装linux系统
    昨天晚上写了个 Python 程序,下载了一个图片网站 5000 来张图片
    git使用代理clone加速
    smtp发送邮件记得结尾发送" . "
  • 原文地址:https://www.cnblogs.com/mgbert/p/4087214.html
Copyright © 2011-2022 走看看