加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Swift – 如何创建正确的sectionForSectionIndexTitle?

发布时间:2020-12-14 19:09:23 所属栏目:百科 来源:网络整理
导读:我有一个包含完整字母的部分索引 – 但是,我的表中的部分只包含几个字母(例如C,F,N,U). 我想修改sectionForSectionIndexTitle以在滑动手指超过部分索引时正确显示右侧部分.我仍然不确定如何使用sections.append … 谢谢你的帮助. 这是我的代码的样子: Secti
我有一个包含完整字母的部分索引 – 但是,我的表中的部分只包含几个字母(例如C,F,N,U).

我想修改sectionForSectionIndexTitle以在滑动手指超过部分索引时正确显示右侧部分.我仍然不确定如何使用sections.append …

谢谢你的帮助.

这是我的代码的样子:

Section.swift

struct Section
{
    var heading : String
    var items : [String]

    init(title: String,objects : [String]) {

        heading = title
        items = objects
    }
}

ViewController.swift

func updateSections(index : Int) {

    switch index {

    case 0:
        sections.append(Section(title: "C",objects: ["Czech Republic"]))
        sections.append(Section(title: "F",objects: ["France"]))
        sections.append(Section(title: "N",objects: ["Norway"]))
        sections.append(Section(title: "U",objects: ["USA"]))

    default: break
    }

    tableViewOutlet.reloadData()
}

let arrIndexSection = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]

func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? {
    if segmentedControlOutlet.selectedSegmentIndex == 0 {
        return arrIndexSection
    } else {
        return [""]
    }
}

func tableView(tableView: UITableView,sectionForSectionIndexTitle title: String,atIndex index: Int) -> Int {
    let temp = arrIndexSection as NSArray
    return temp.indexOfObject(title)
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return sections.count
}

func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
    let section = sections[section]
    return section.items.count
}

func tableView(tableView: UITableView,titleForHeaderInSection section: Int) -> String? {
    return sections[section].heading
}

解决方法

尝试在项目中使用以下代码:

func tableView(tableView: UITableView,atIndex index: Int) -> Int {
    var tempIndex:Int = 0
    for str in arrIndexSection {
        if str == title {
            return tempIndex
        }
        tempIndex += 1
    }
    return 0
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读