部分标题标签中的长文本未正确显示

Posted

技术标签:

【中文标题】部分标题标签中的长文本未正确显示【英文标题】:Long Text in Label of Section Header is not showing correctly 【发布时间】:2019-04-10 07:27:57 【问题描述】:

我在问题/答案应用程序的表格视图标题部分中有一个 textLabel。当用户点击问题时,会显示答案,再次点击答案将隐藏。

我在标题部分显示问题,但如果问题文本很长,则文本不会得到调整,也不会换行。

【问题讨论】:

请明确你的问题,你想做什么,到目前为止你做了什么? 请在处理问题文本的地方添加您的代码 sn-p。 【参考方案1】:

虽然您的问题还不够清楚,但到目前为止我已经了解到您想要创建一个UITableView,即Group TableView。如果我没记错,那么您希望将每个 section 作为问题容器,而 Row or Cell 将是该问题的答案。总之,您想制作一个可扩展的UITableViewCell。如果是这样,那么您可以检查以下链接

https://www.appcoda.com/expandable-table-view/

https://medium.com/ios-os-x-development/ios-how-to-build-a-table-view-with-collapsible-sections-96badf3387d0

https://mobikul.com/create-expandable-table-view-swift/

现在您的第二个问题是 HeaderText 没有采用 numberOfLines 。要解决此问题,您可以使用 UITableView 的委托方法 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 在其中添加您的 UILabel 并设置您的 numberOfLines的文本。

AND func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 将包含 UITableView 部分标题的高度。要制作动态标题,您必须计算UILabel 高度并将其设置为节标题高度。

请随时提出任何问题。

编码愉快!!

【讨论】:

感谢您的回答!!但是,如果我在 viewForHeaderInSection 上添加一个标签,而不是点击部分上的手势停止工作,如果我点击标签而不是它不起作用。因为我想在点击部分时扩展单元格。请帮助!! github.com/jeantimex/ios-swift-collapsible-table-section 请按照此代码的每一步操作,我认为它应该可以工作。 或者,尽管使用标签,您也可以添加包含标签文本的按钮,并执行该按钮操作的一个功能,该功能将接收单元格的索引作为参数,以便您了解哪个单元格处于活动状态。

以上是关于部分标题标签中的长文本未正确显示的主要内容,如果未能解决你的问题,请参考以下文章

对于 TextField 小部件中的长文本,如何在未聚焦后从头开始显示文本?

如何将位于 UI View 中的长文本标签制作成 Swift 中的多行?

iOS text的长文本换行

标签栏控制器未正确显示

使用swift 3将plist中的长段文本读取为特定格式

Ace Editor 选择的文本未正确突出显示