ios UItableView,UITableViewHeaderFooterView分組頭部的重用機制,簡單地仿射變換CGAffineTransform

來源:互聯網
上載者:User

ios UItableView,UITableViewHeaderFooterView分組頭部的重用機制,簡單地仿射變換CGAffineTransform

怎樣設定包括第一欄在內相同高度的section(小技巧,雖然容易但容易忽略)

*第一步,在viewdidload裡將尾部設為0,table.sectionFooterHeight = 0;(代理方法)- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{

return 0;

}雖然也可以設定尾部高度,但是設定後沒有效果

第二步,調用tableView的代理方法- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

return 30;

}設定頭部高度為30;

運行結果

 

自訂分組頭部的重複利用(類似cell)

如果自訂分組頭部

為了記憶體最佳化,可以使用類似cell的重用機制來實現

 

#pragma mark - 自訂分組頭部

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

static NSString * identy = @"headFoot";

 

UITableViewHeaderFooterView * hf = [tableView dequeueReusableHeaderFooterViewWithIdentifier:identy];

if (!hf) {

NSLog(@"%li",section);

hf = [[UITableViewHeaderFooterView alloc]initWithReuseIdentifier:identy];

UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];

view.backgroundColor = [UIColor redColor];

[hf addSubview:view]; (若將此注釋:view未添加)

}

// hf.contentView.backgroundColor = [UIColor purpleColor];(去掉此行注釋:可設定hf。contentView背景色),若此行和上一行都不注釋,顯示紅色

return hf;

}

 

仿射變換

- (void)clickAction{

// 仿射變換

// [UIView animateWithDuration:0.5 animations:^{

// // 執行一次

//// self.rectView.transform = CGAffineTransformMakeTranslation(100, 100);

// // 在self.rectView.transform現在的基礎上繼續執行

//// self.rectView.transform = CGAffineTransformTranslate(self.rectView.transform, 100, 100);

// }];

//

// // 仿射比例

// [UIView animateWithDuration:0.5 animations:^{

// // 執行一次

// self.rectView.transform = CGAffineTransformMakeScale(5, 0.5);

// // 在self.rectView.transform現在的基礎上繼續執行

//// self.rectView.transform = CGAffineTransformScale(self.rectView.transform, 2, 2);

// self.rectView.transform = CGAffineTransformMakeTranslation(100, 100);

//

// }];

 

// 仿射旋轉

[UIView animateWithDuration:0.5 animations:^{

// 100度

CGFloat degree100 = 100/180.0*M_PI;

CGFloat degree45 = M_PI_4;

// 執行一次

// self.rectView.transform = CGAffineTransformMakeRotation(M_PI_4);

// 在self.rectView.transform現在的基礎上繼續執行

self.rectView.transform = CGAffineTransformRotate(self.rectView.transform, degree100);

 

 

}];

 

}

 

ios UItableView,UITableViewHeaderFooterView分組頭部的重用機制,簡單地仿射變換CGAffineTransformios UItableView,UITableViewHeaderFooterView分組頭部的重用機制,簡單地仿射變換CGAffineTransformios UItableView,UITableViewHeaderFooterView分組頭部的重用機制,簡單地仿射變換CGAffineTransform

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.