UITableView 列表视图1

/// 别忘了写 代理  <UITableViewDelegate,UITableViewDataSource>


_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 416) style:UITableViewStylePlain];//Grouped 分组样式
    
    _tableView.delegate = self;
    _tableView.dataSource = self;
    
    [self.view addSubview:_tableView];
    [_tableView release];
    
    //属性
    //分割线颜色
    _tableView.separatorColor = [UIColor redColor];
    //分割线类型:三种
    _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    //行高
    _tableView.rowHeight = 50;
    _tableView.sectionHeaderHeight = 20;
    _tableView.sectionFooterHeight = 20;
    //背景颜色
    _tableView.backgroundColor = [UIColor yellowColor];
    
    ///背景图片
    UIImageView* imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)];
    imageView.image = [UIImage imageNamed:@"10_0.jpg"];
    //背景图片
    _tableView.backgroundView = imageView;
    
    
    
    
//行高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 20 + indexPath.row * 10;
}

//组标题header高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return section * 40 + 40;
}
//footer高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 40;
}

//自定义组视图
//- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
//    UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//    button.frame = CGRectMake(0, 0, 320, 40);
//    return button;
//}

//多少组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 2;
}

//组头标题
- (NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
    if(section==0)
    {
        return @"第一组";
    }
    if(section==1)
    {
        return @"第二组";
    }
    return nil;
}
//组 结尾标题
- (NSString*)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
    return @"end";
}

//必写
//多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    NSLog(@"多少行");
    return 20;
    
}

//必写
//创建tableViewCell,每一行要显示的内容
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString* tableIder = @"ID";
    //从叫做@“ID”的队列里面去取出cell
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:tableIder];
    //判断队列里面是否存在cell
    if (cell == nil) {
        //如果不存在,那么我们创建一个cell
        //两个参数,第一个参数是cell的类型,第二个是当cell移出屏幕时,要保存到的队列名称
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:tableIder] autorelease];
        
        UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 50, 20)];
        label.tag = 10;
        label.font = [UIFont systemFontOfSize:15.0];
        label.backgroundColor = [UIColor clearColor];
        [cell addSubview:label];
        [label release];
        
    }
    UILabel* label = (UILabel*)[cell viewWithTag:10];
    label.text = [NSString stringWithFormat:@"%d",indexPath.row];
    //indexPath.section
    
    //cell.textLabel.text = [NSString stringWithFormat:@"%d",indexPath.row];

    return cell;
}


cell 的 颜色交错

1  cell的颜色不能单纯的在cell的方法里设置background  ,可以通过创建UIView并设置backgrounColor后 设置cell的backgroundView = UIView来实现

2 可以自WillDisplayCell 里面直接设置cell.backgroundColor 

瀑布流:展示层次不齐的图片 

////这个是核心 三个或者N个tableView联动 设置
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    
    NSArray *array = [[NSArray alloc] initWithObjects:leftTableView,middleTableView,rightTableView, nil];
    for (UIScrollView *s in array) {
        if (s != scrollView) {
            s.contentOffset = scrollView.contentOffset  ;
        }
    }
}


cell 和contentView 的关系  

contentView 是放在cell上面的  除了编辑状态 显示效果一样 。

cell = 

cell.contentView  = 

尽量把东西放在contentView 上


cell 很乱的情况 :

方法1 :

//    for (UIView *v in [cell.contentView subviews]) {

//        [v removeFromSuperview];

//    }

方法2:

    [[cell.contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];

   重叠:

if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:strCell];

    }else{

        while ([cell.contentView.subviews lastObject] != nil) {

            [(UIView*)[cell.contentView.subviews lastObject] removeFromSuperview];  //删除并进行重新分配

        }

    }


动画效果 :

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.15];
myView.frame = CGRectMake(140, 360, 80, 60) ; ///控制myView的位置 
[UIView commitAnimations];
//可以设置NSTimer 设置显示时间


cell 点击效果

在cellForRowAtIndexPath:方法中写上
 cell.selectionStyle = UITableViewCellSelectionStyleNone;
 
 ///////点击时 cell上的控件显示颜色消失
 在cellForRowAtIndexPath:方法中写上
    UIView *view_bg = [[[UIView alloc]initWithFrame:cell.frame]autorelease];
    view_bg.backgroundColor = [UIColor clearColor];
    cell.selectedBackgroundView = view_bg;
    
 ////背景颜色闪一下消失
 在didSelectRowAtIndexPath:方法中写上
 [tableView deselectRowAtIndexPath:indexPath animated:NO];



你可能感兴趣的:(瀑布流,UITableView,cell的颜色交错,列表视图1)