改變UITableView的header、footer背景顏色
改變UITableView的header、footer背景顏色,這是個很常見的問題。之前知道的一般做法是,通過實現tableView: viewForHeaderInSection:返回一個自定義的View,裡面什麼都不填,只設背景顏色。但是今天發現一個更簡潔的做法:
對於iOS 6及以後的系統,實現這個新的delegate函數即可:
復制代碼 代碼如下:
- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section {
view.tintColor = [UIColor clearColor];
}
還可以改變文字的顏色:
復制代碼 代碼如下:
- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section
{
UITableViewHeaderFooterView *footer = (UITableViewHeaderFooterView *)view;
[footer.textLabel setTextColor:[UIColor whiteColor]];
}
修改tableView的背景圖片
修改UITableView的背景圖片
1.圖片顯示為'PatternImage'模式。
復制代碼 代碼如下:
// viewDidLoad
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundImage"]];
// cellForRowAtIndexPath
cell.backgroundColor = [UIColor clearColor];
這種情況下背景圖片像地板磚一樣平鋪。拉動tableView背景圖片會隨著動,若行數超過背景圖片的高度,會接著顯示下一張圖片。
2.正常的背景圖片。
復制代碼 代碼如下:
// viewDidLoad
self.tableView.backgroundColor= [UIColor clearColor];
UIImageView*imageView = [[UIImageView alloc]initWithImage:[UIImageimage Named:@"BackgroundImage"]];
self.tableView.backgroundView = imageView;
// cellForRowAtIndexPath
cell.backgroundColor = [UIColor clearColor];
這種情況下背景圖片不會動,即無論多少行看到的都是同樣的背景。