基于数组的UITableViewCell分隔符

时间:2017-10-22 14:43:19

标签: ios swift uitableview

我有一个名为contacts的JSON数组,其中包含大约100个联系人 现在,我想通过在右侧字母表中显示每个字母的字母部分标题来复制contacts.app的功能。

我尝试了几件事,但我想知道这样做最有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用这两种方法

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

        let sectionHeader = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 40))

        let lblTitle:UILabel = UILabel(frame: CGRect(x: 20, y: 10, width: tableView.frame.size.width-20, height: 21))
        var strTitle : String!
        switch section {
        case 0:
            strTitle = "A"
            break
        case 1:
            strTitle = "B"
            break
        case 2:
            strTitle = "C"
            break
        default:
            break
        }
        lblTitle.text = strTitle
        sectionHeader.addSubview(lblTitle)

        return sectionHeader
}

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
   return 40
}

这里我在switch case语句中设置Alphabets以了解目的。您可以根据您的要求从Dictionary或Array或Json Response中获取此字母。

这是一般或有效的解决方案。我希望它会对你有所帮助。