我如何编辑表视图节标题ios swift

时间:2016-06-23 03:31:36

标签: ios swift uitableview

我使用一个表格视图控制器,我的三个部分都有标题。我希望能够改变标题的外观,这是最好的方法。

类似于Snapchat故事页面标题的外观

4 个答案:

答案 0 :(得分:6)

您可以通过在故事板中创建自定义name: SingleSuite threadCount: 3 parallel: methods tests: - name: Regression classes: - test.ApiTest 来自定义节标题。

您设计3个部分与故事板中的快照相同。

这是两个部分的示例,其中包含两个不同的UITableViewCell单元格

UITableView

创建两个自定义func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { //Say 2 section with two different look if section == 0{ let header = tableView.dequeueReusableCellWithIdentifier("HeaderTableViewCell1")! as! HeaderTableViewCell1 header._lblGroupName.text = "" header._btnExpand.addTarget(self, action: "hideSection:", forControlEvents: .TouchUpInside) header._lblTotalCount.text = "" return header.contentView } else{ let header = tableView.dequeueReusableCellWithIdentifier("HeaderTableViewCell2")! as! HeaderTableViewCell2 header._lblGroupName.text = "" header._btnExpand.addTarget(self, action: "hideSection:", forControlEvents: .TouchUpInside) header._lblTotalCount.text = "" return header.contentView } } 类。设置插座

UITableViewCell

答案 1 :(得分:0)

为标题创建自定义视图,并使用以下任一方式注册:

- (void)registerNib:(nullable UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier;

- (void)registerClass:(nullable Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier;

并在以下位置进行自定义:

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section;

UPD:

Swift版本:

viewDidLoad注册你的笔尖:

    override func viewDidLoad() {
      super.viewDidLoad()
     tableView.registerNib(UINib(nibName: "YourNibName", bundle:nil),               forHeaderFooterViewReuseIdentifier: "YourIdentifier")
   }

实施UITableViewDelegate方法:

 func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)

并自定义<{p>}中的view

答案 2 :(得分:0)

只需添加此项并执行所需的自定义

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: tableView.sectionHeaderHeight))
    // Do your customization

    return view
}

答案 3 :(得分:0)

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let  headerCell = tableView.dequeueReusableCellWithIdentifier("HeaderCell") as! CustomHeaderCell
    headerCell.backgroundColor = UIColor.cyanColor()

    switch (section) {
    case 0:
      // Do your customization
      //return sectionHeaderView
    case 1:
      // Do your customization
      //return sectionHeaderView
    case 2:
      // Do your customization
      //return sectionHeaderView
    default:
      //return sectionHeaderView
    }

    return headerCell
  }


override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let footerView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 40))
    footerView.backgroundColor = UIColor.blackColor()

    return footerView
  }