1. ホーム
  2. ios

[解決済み] UITableView - セクションヘッダーの色を変更する

2022-03-16 01:54:47

質問

UITableViewのセクションヘッダーの色を変更するにはどうすればよいですか?

EDIT : その DJ-Sさんからの回答 は、iOS 6 以上でご検討ください。受理された回答は古くなっています。

解決方法を教えてください。

このメソッドで UITableViewDelegate プロトコルを使用することができます。

Objective-Cです。

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
  UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];
  if (section == integerRepresentingYourSectionOfInterest)
     [headerView setBackgroundColor:[UIColor redColor]];
  else 
     [headerView setBackgroundColor:[UIColor clearColor]];
  return headerView;
}

スウィフト

func tableView(_ tableView: UITableView!, viewForHeaderInSection section: Int) -> UIView!
{
  let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.size.width, height: 30))
  if (section == integerRepresentingYourSectionOfInterest) {
    headerView.backgroundColor = UIColor.redColor()
  } else {
    headerView.backgroundColor = UIColor.clearColor()
  }
  return headerView
}

2017年に更新しました。

Swift 3です。

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
    {
        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.size.width, height: 30))
        if (section == integerRepresentingYourSectionOfInterest) {
            headerView.backgroundColor = UIColor.red
        } else {
            headerView.backgroundColor = UIColor.clear
        }
        return headerView
    }

交換 [UIColor redColor] をどちらか一方に変更します。 UIColor を選択します。の寸法を調整することもできます。 headerView .