gpt4 book ai didi

ios - 如果分配给属性的字符串太长, TableView 单元格不显示

转载 作者:行者123 更新时间:2023-11-28 12:25:34 24 4
gpt4 key购买 nike

我正在构建一个应用程序,让用户创建一个由标题和文本组成的“故事”。

我正在实现一个显示所有已创建故事的 tableView。到目前为止一切正常。但这是我的问题:

当用户输入的标题或文本超过 tableViewCell 能够显示的长度时,该单元格根本不会显示。其他名字较短的人仍然这样做。

我正在使用单元格样式“副标题”。

如何限制单元格中显示的文本量以及导致此错误的原因?因为即使我找到修复它的方法,文本也可能仍然存在问题跑出屏幕。

这是我的 UITableViewController 类中的代码:

class StoryTableViewController: UITableViewController {


override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}


override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return savedStories.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath)

cell.textLabel?.text = savedStories[indexPath.row].title
cell.detailTextLabel?.text = savedStories[indexPath.row].text
return cell
}

override func viewDidLoad() {
super.viewDidLoad()

// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

这是界面构建器的 UI 屏幕截图:

Here is a screenshot of the UI from the interface builder

最佳答案

您需要创建您的自定义 UITableViewCell。您可以使用可用的动态可调整大小的单元格自动调整单元格以适应文本长度。

IB步骤:在单元格上创建一个 UILabel。不要给它任何高度限制。只需从各个方向固定它并执行以下操作:

label.numberOfLines = 0

在viewDidLoad中:

self.tableView.estimatedRowHeight = 88.0 //Any estimated Height
self.tableView.rowHeight = UITableViewAutomaticDimension

不要编写 heightForRow: 方法,但如果你想使用它是因为那里存在多个单元格,你可以为该特定单元格高度返回 UITableViewAutomaticDimension。

试试这个 out

关于ios - 如果分配给属性的字符串太长, TableView 单元格不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43510466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com