您的位置:首页 > 产品设计 > UI/UE

UITableView取消选中颜色、常用操作

2015-12-02 06:38 519 查看
使用空白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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: