/// 別忘了寫 代理 <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];