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 的 顏色交錯php

1  cell的顏色不能單純的在cell的方法裏設置background  ,能夠經過建立UIView並設置backgrounColor後 設置cell的backgroundView = UIView來實現動畫

2 能夠自WillDisplayCell 裏面直接設置cell.backgroundColor spa

瀑布流:展現層次不齊的圖片 代理

////這個是核心 三個或者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 的關係  code

contentView 是放在cell上面的  除了編輯狀態 顯示效果同樣 。orm

cell = 隊列

cell.contentView  = 圖片

儘可能把東西放在contentView 上rem


cell 很亂的狀況 :
string

方法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];
相關文章
相關標籤/搜索