UITableView的交互式部分标题

时间:2015-11-05 06:55:57

标签: ios swift uitableview

我已UITableView我添加了UIButton。问题是它只显示在标题的顶部。如何在所有部分标题中添加按钮,以便我可以使该部分具有交互性?

以下是在UITableView

的Section Header上添加按钮的代码
    func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
    header.contentView.backgroundColor = UIColor(red: 255/255, green: 200/255, blue: 20/255, alpha: 1.0) // Just some random color
    header.textLabel!.textColor = UIColor.whiteColor()
    let btn = UIButton(type: UIButtonType.Custom) as UIButton
    btn.frame = CGRectMake(header.frame.width - 62, 0, 50, 50)
    btn.addTarget(self, action: "pressed:", forControlEvents: .TouchUpInside)
    btn.setTitle("Direction", forState: .Normal)
    btn.setTitleColor(UIColor.whiteColor(), forState: .Normal)
    header.contentView.addSubview(btn)      
}

有谁能告诉我如何在每个部分添加交互式按钮?

2 个答案:

答案 0 :(得分:2)

您必须使用此委托

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

自定义tableview的headerview部分

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
   let header: = UIView()
   let btn = UIButton(type: UIButtonType.Custom) as UIButton
    btn.frame = CGRectMake(header.frame.width - 62, 0, 50, 50)
    btn.addTarget(self, action: "pressed:", forControlEvents: .TouchUpInside)
    btn.setTitle("Direction", forState: .Normal)
    btn.setTitleColor(UIColor.whiteColor(), forState: .Normal)

    header.addSubview(btn)
    return header

}

答案 1 :(得分:0)

您可以简单地使用此委​​托方法表格视图:

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