问题标签 [uitableviewsectionheader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 更新 uitableview 标题上的文本
我正在使用下面的代码来设置 uitableview viewForHeaderInSection,然后我试图只更新节标题中的一个文本字段,但我的参考是零。
我的标头返回为零的参考代码:
ios - tableViewheader 中的按钮无法识别标题编号。0
我有这个问题,希望你能帮助我。
这是我的代码viewForHeaderInSection
:
这是 action
功能:
现在,如果我点击除第一个标题(标题 0)以外的每个标题,它会打印正确的部分。如何让它也检测到标头 0?
ios - 当 UITableView 单元中的 UITextView 大小增加时,节标题重复
从一天开始我就一直在解决这个问题,我尝试了很多方法来解决这个问题,但还没有成功。我有一个带有 3 个自定义单元格的表格视图,并且我为最后两个部分添加了部分标题。这是屏幕截图。
当我在 TextView 中输入文本时,它显示最后一节标题正在重复。我的 TextView 是可编辑的,并且我已禁用滚动以根据文本大小调整 textview 的大小。
这是代码。
TextView 委托方法。
我已经尝试过这个#SO解决方案,但没有帮助。在这个方向上的任何帮助将不胜感激。提前致谢。
swift - CoreData 实体和属性
我是 swift 新手,我刚刚了解了核心数据,我正在尝试在我目前正在从事的项目中实施它。
以前我正在接受一个结构
我尝试创建两个实体并创建了父子关系,我设法保存了它们,但是当我使用节标题执行 tableview 时,我无法导致没有嵌套数组。
如果我想要一个带有程序名称的部分,我的属性和实体将如何。
swift - 在 UITableViewCell 和 UITableViewHeaderFooterView 子类之间共享代码
目前,我有一个与UITableViewCell
子类具有相同视图的UITableViewHeaderFooterView
子类。我以编程方式设置了包含一堆 UILabel 和 UIImageviews 的子类视图。目前,我刚刚在两个文件之间复制/粘贴了代码。我想知道是否有一种方法可以整合代码。我不能继承代码作为 UITableViewCell 并且UITableViewHeaderFooterView
是不同的。我猜正确的答案是通过使用协议,但我很难弄清楚如何实际实现它。有什么想法或想法吗?
ios - 如果提供了节标题,UITableview 高度会自动更改为全屏
我在顶部有一个自定义视图(搜索图标/铃铛)和下面的 tableview(带有 tableheaderview)。如果我为 tableview 提供部分 headerview,tableview 不尊重约束 - tableview 自动获取全屏高度,让我设置任何约束。如果我删除部分标题代码,它会尊重所有约束。上面是图像 - 即使 tableview 设置为底部 - 它也需要全高显示。自定义顶视图隐藏在 tableview 下方。
已实现 heightForHeaderInSection、estimatedHeightForHeaderInSection、viewForHeaderInSection。
此外,如果我设置 self.feedTableView.contentInset = insets self.feedTableView.scrollIndicatorInsets = insets // 顶视图 Tableview 的高度可以正常工作。
ios - 如何在表格视图中正确设置动态标题视图?
我需要一个部分的标题视图在它下面是 aUIImageView
和 a UILabel
。图像视图的高度在创建后不会改变,但标签中的文本可能会由于某些用户操作而改变。我需要动态更新整个标题视图的高度(使用 AutoLayout,而不是更改框架)。
我一直在检查一些帖子,例如这个,但我尝试过的解决方案对我不起作用。当我更改标签中的文本时,我的标题视图的高度不会更新。
也许我需要从一开始就了解这是如何工作的。首先,我想明确一点:
UIView
将标题视图作为in的子类tableView(_:viewForHeaderInSection:)
提供与将其作为in 的子类提供并将其UITableViewHeaderFooterView
注册到表视图有什么区别?标题视图中的子视图需要哪些约束才能具有动态高度?
我应该如何动态更新标题视图的高度?
ios - 带有自动 sectionHeaderHeight 的 iOS 11 UITableView 错误可能会导致动画出现故障并在 tableview 顶部留下损坏的部分
在开发我最新的应用程序时,我偶尔会遇到我的 tableview 渲染问题,似乎我的 tableview 单元格没有足够的空间来适应每个部分。
直到最近,我一直在努力可靠地重现这个问题,在用尽我能想到的一切之后,我决定将这个 bug 的基本原理克隆到一个测试应用程序中,我最终设法用它重现了一个类似的问题,所以我终于找到了似乎成为错误的原因。
我的主应用程序使用自定义部分标题视图,并且需要自动高度尺寸行和部分标题,因为我包含动态内容,其中包括可以增长的文本,如果需要,它们都可以多行显示。在我的主应用程序中调试问题时,我很快尝试用默认的 tableview 部分标题替换我的自定义部分标题视图,并且仍然能够重现问题,所以这个测试应用程序使用带有自动 sectionHeaderHeights 的部分标题,我意识到这很奇怪,但同样自定义视图会出现问题,它仅使用普通标题会导致一个更简单的示例。
我已将我的项目副本上传到位于此处的 zip 文件中。
以及两个视频显示我的测试应用程序中的工作流工作正常,然后被自动 sectionHeaderHeight 破坏。这些视频在这里
下图显示了应用程序正常显示 2 个测试部分及其行之间的区别
然后用浮动的“第 2 节”标题中断第 2 节中的一行。
实际的相关代码在项目的 TableViewController 中
您可以看到类常量 setAutomaticDimensionSectionHeaderHeight 可以设置为使 tableView.sectionHeaderHeight 初始化为 UITableViewAutomaticDimension。如果设置为自动,则会出现上述视频中显示的错误,即
- 使用条形按钮明显切换部分时
- 新的“第 2 节”标题立即出现在其所需位置
- 现有的“第 2 节”标题及其行都通过它向下滑动到正确的位置
- 当通过不可见地切换部分时
- 转到下一个视图控制器(通过选择表格行)并使用其切换表格视图部分按钮
- 并返回到 tableview
- 重复此操作,以便在 tableview 不在屏幕时隐藏第 1 部分及其行
- 显示一个虚拟的“第 2 节”标题浮动在添加第 1 节时的位置。
- 此虚拟标题附加到 tableview 并随之滚动,但当您将其滚动到视图顶部时,不会将其他真实部分标题推开
动画故障是我只在这个测试应用程序中注意到的,因为在我的主应用程序中,我总是在导航控制器的某些子视图中重现对屏幕外 tableview 的更改。尽管如前所述,浮动标题视图已经被发现,并且使我的应用程序看起来很糟糕,实际上通过隐藏一些 tableview 行来严重破坏它。当我第一次看到它时,我没有意识到标题是错误的并且浮动我认为这是我的 tableview 的其他问题。
我可能会在 Apple 上记录一个雷达,因为它看起来很破,但我想看看是否有人有任何想法。我见过一些人谈论自动截面高度的一般问题,并建议您只动态计算截面高度的大小。如果我可以相信自动布局在这一点上已经解决,那么我认为这是我可以尝试的我猜想通过在我的 sectionView 中添加组件视图的高度来做到这一点?
除此之外,我刚刚看过其他一些问答系列,例如
那个谈论可能试图将estimatedSectionHeaderHeight(和estimatedRowHeight)设置为0,我刚刚在我的测试应用程序中尝试过,它似乎确实“解决了”这个问题。后一个链接还引用了早期的 iOS 11 发行说明
表格视图现在默认使用估计高度,这也意味着单元格和部分页眉/页脚视图现在默认为自定大小。estimatedRowHeight、estimateSectionHeaderHeight 和estimatedSectionFooterHeight 属性的默认值现在是UITableViewAutomaticDimension,这意味着表格视图选择了一个估计的高度来使用。如果可能,您仍应为每个属性提供更准确的估计,这是您对实际高度平均值的最佳猜测。如果您在使用 iOS 11 SDK 构建应用程序时存在行为不同的现有表格视图代码,并且您不想采用自调整大小,则可以通过将估计高度设置为 0 来禁用估计高度来恢复之前的行为。每个估计的高度属性。(30197915)
这让我尝试只注释掉全部估计的SectionHeaderHeight 行以使用新的默认 iOS 11 行为。这似乎也行得通,并且通过这种描述听起来更可取,因为我知道我确实想要自我调整大小。注释虽然说你应该自己提供估计,当我这样做时确实会导致这些错误,所以在这个阶段苹果的建议似乎不好。
我需要让我的主应用程序再次恢复正常,看看这是否能解决问题。我确实记得,当第一次获得动态高度部分和行时,似乎需要将这些估计属性设置为某些东西才能真正让我的自动布局和多行文本标签正常工作以填充所需的空间(我可能在时间虽然我正在与所有参数搏斗,试图让事情正常进行)。当我可以很好地了解这些部分的估计大小通常是多少时,将其设置为 0 似乎是错误的,将其留空以采用默认的自我调整大小似乎是正确的,尽管我想如果我在早期的 iOS 上发布代码可能需要调整,因为可能无法很好地工作。
对此的任何更多想法将不胜感激!
干杯!
编辑
经过进一步测试,我似乎对将高度设置和估计高度设置为 0 修复事物过于乐观。我只能通过没有不适合我的主要应用程序用例的动态高度部分标题来解决问题
我通过并测试了各种选项的所有组合,结果如下
从 sectionHeaderHeight 的角度来看,不同的估计SectionHeaderHeights
- tableView.sectionHeaderHeight = 0
- 没有估计高度 == 0、45 或自动尺寸的标题
- tableView.sectionHeaderHeight = 60
- 标题都具有恒定的 60 高度,没有 UI 错误
- tableView.sectionHeaderHeight = UITableViewAutomaticDimension
- 没有标题,或者当估计的 headerheight 为 0 时 viewForHeaderCalled
- 如果估计的 headerheight 设置为数字或自动尺寸,则标题有错误
从具有不同 sectionHeaderHeights 的估计 sectionHeaderHeight 角度
- tableView.estimatedSectionHeaderHeight = 0
- 没有将 sectionHeaderHeight 设置为 0 的标题或自动维度没有调用 viewForHeader。
- headers 没有 headerHeight=60 的错误
- tableView.estimatedSectionHeaderHeight = 45
- 没有 sectionHeaderHeight == 0 的标题
- headers 固定为 60,没有 sectionHeaderHeight=60 的错误
- 标题自动调整大小,带有 sectionHeaderHeight==Automatic Dimension
- tableView.estimatedSectionHeaderHeight = UITableViewAutomaticDimension
- 如果 sectionHeaderHeight==0, Automatic Dimension, 带有错误的标题
- 在 sectionHeaderHeight=60 的情况下将标题固定在 60 且没有错误
基本上没有任何组合可以解决此问题,但保留了具有动态高度部分标题的能力
ios - 在UItableview ios swift中更改部分标题的角半径
我需要动态更改自定义 UITableview 部分标题角半径。最初,所有拐角的节标题拐角半径为 5。将单元格添加到部分后,应删除左下角和右下角。我在自定义 UITableViewHeaderFooter 类的布局子视图方法中更改了它。但它没有反映,为所有角落添加了角落半径,添加单元格时不会改变。我的代码是:
UIView 扩展
func setRoundCorners(cornerRadius:CGFloat,角:UIRectCorner){
ios - UITableview:部分标题不会自动调整全屏点击的位置
仅在使用 Xcode9 和 iOS 11 设备编译时发生。
部分标题不会自动粘在顶部,在视图中留下一个可以看到内容的空间。(包括屏幕截图)点击全屏时发生。但有时标题会在点击操作上粘在顶部 在
向上/向下滚动时,标题会粘在顶部。(包括 GIF)
如果我错了,请纠正我,部分标题的浮动性质由 UITableViewStyle 设置为普通提供。
尝试按照此处的建议将estimatedSectionHeaderHeight 设置为0(禁用它) 。但它没有用。
我们尝试按照此处针对类似问题的建议在我们的 hideNavBar 函数中重新加载 tableView 数据。但这会将我们滚动到其他内容。
按照我们 hideNavBar 函数中其他答案的建议尝试了以下操作,并再次面临我们滚动到一些遥远内容的相同问题。