UITableView部分索引标题对于列表来说太宽了

时间:2014-03-15 19:21:58

标签: ios uitableview indexing

有没有办法增加沿表格视图边缘显示的部分索引标题的宽度?在我目前的代码中,一些标题被左右剪裁:

UITableView with section index titles, some titles clipped on left and right

我在创建列表时没有做任何特别的事情,只是返回一个填充了排序的NSStrings的NSArray。

4 个答案:

答案 0 :(得分:0)

我的部分索引标题遇到了同样的问题。 不确定这是否正确,对我有用的是:

[self.tableView layoutIfNeeded];

之前打电话

[self.tableView reloadData];

JB

答案 1 :(得分:0)

固定。

事实证明,在第一次调用sectionIndexTitlesForTableView:时返回一个空字符串就足够了,即使真正的标题(当数据最终到达并且表重新加载时)也会更宽。

仅当初始调用返回空列表时,部分索引标题的列才会调整其宽度以适应标题到达时的标题。

答案 2 :(得分:0)

iOS 8

我在iOS8中也有这个问题。

这似乎是iOS8中的一个错误,在撰写本文时(2014年10月)没有更正。

搜索我找到了两个解决方法。

第一个是强制重新加载viewDidAppear中的数据。这也将纠正在第一次加载时无法自行调整单元格的问题。

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    self.tableView.reloadData()
}

但是在我的情况下它没有解决问题,因为我曾经在viewDidAppear之后更改了部分索引标题

所以第二种解决方法只是realoadData()两次

self.tableView.reloadData()
self.tableView.reloadData()

答案 3 :(得分:0)

重新加载TableView,它应该可以解决该问题,

override func viewDidLoad()
    {
        super.viewDidLoad()
        self.tableView.reloadData()
    }