- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个没有标题的 TableView 的简单实现。这就是我想要的结果。
class NavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
self.pushViewController(MyTable(style: .grouped), animated: false)
}
}
class MyTable: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return CGFloat.leastNormalMagnitude
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return CGFloat.leastNormalMagnitude
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
assert(false)
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
return UITableViewCell()
}
}
请注意,我有一个 viewForHeaderInSection
的覆盖,它永远不会被调用,这是预期的,因为我给出的高度基本上为零。
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
assert(false)
}
当我删除上述函数的定义时,我得到了不同的结果。为什么会发生这种情况?有没有办法在不重写此方法的情况下获得相同的结果?
最佳答案
如果 UITableView 的委托(delegate)实现了 tableView(_:viewForHeaderInSection:)
,则调用 UITableView 会从假定您想要在节标题中使用 标题 转变为认为您想要 views 在您的部分标题中。完成该切换后,它会检查委托(delegate)的 tableView(_:heightForHeaderInSection:)
— 并且由于您(有效地)返回零,我猜表格 View 可以在不查询委托(delegate)的情况下进行布局实际查看。
请记住,进行此切换永远不需要调用 view-for-header 方法。 UITableView 可以检查其委托(delegate)是否为该方法实现了 ObjC 选择器,而无需实际调用它,并相应地更改其行为。这很可能就是您的断言永远不会触发的原因。
关于ios - 为什么重写 tableView( :viewForHeaderInSection:) change the results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53194844/
如果 viewForHeaderInSection 中的自定义单元格重新加载特定的 viewForHeaderInSection IOS,我想重新加载 viewForHeaderInSection。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if(secti
我试图折叠选定的部分,但我的标题消失了,我尝试在 ViewDidLoad 中注册 viewForHeaderInSection 类,但没有成功,步骤如下: 在每个标题上创建一个按钮和一个目标操作如果点
我在页眉部分找不到任何文本。这就是我设置页眉部分的方式: override func tableView(tableView: UITableView, numberOfRowsInSection s
我正在尝试在我的应用程序中实现标题 View ,并使用以下代码创建标题 View : (UIView *)tableView:(UITableView *)tableView viewForHeade
我有一个 UIViewController,其中嵌入了多个 UITableView。对于某些表格,我需要显示带有多个标签的自定义标题 View 。对于其他表格,我根本不想显示标题(也就是说,我希望 m
我在我的 UITableView 中使用自定义标题 View ,但是一旦我开始向下滚动标题就会消失,而不是像默认标题那样留在原地。而且它也没有滚出屏幕,只是完全消失了。 viewForHeaderIn
我希望 View Controller 顶部的两个标题不会随着表格滚动而消失。 代码的第一部分显示了我在 viewDidLoad 中的顶部标题。 viewForHeaderInSection 工作正常
我想将分隔线添加到 tableForHeaderInSection 中。目前标题部分 View 的代码为: func tableView(_ tableView: UITableView, willD
我想在部分标题中放置一个信息灯按钮 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)
viewForHeaderInSection 的 textLabel 的 textColor 总是灰色的。 BackgroundColor 按预期更改。以下是创建标题 View 的代码。它确实进入了“
我有一个独特的情况。 我想为表格标题部分显示自定义标题文本,我可以这样做,但我想要默认标题部分框架渐变,而不是自定义标题部分纯色。 (请看附图) 这是我在 viewForHeaderInSection
我必须构建一个自定义 tableViewHeader,其中至少应显示两个标签,即。项目名称和项目描述。这两个标签的内容不同(即在字符串长度方面)。 我设法获得了默认设备方向(纵向)的工作版本,但如果用
我正在使用 UITableView 委托(delegate)方法 viewForHeaderInSection 在我的 UITableView 中提供节标题。 我最初创建的 View 是这样的: UI
如何在 iOS7 风格上实现 (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)sectio
我有一个 UITableview 我正在尝试将 HeaderView 添加到我的 UITableview 上。 但是 viewForHeaderInSection 没有被调用,但我看到 titleFo
在我的应用程序(iPad)中,需要创建一个包含多个列的 UITableView。为此,我必须创建一个自定义 UITableViewCell 来提供所需的列。 现在,是时候在这些列上放置标题了。在“vi
我正在将现有应用转换为 AsyncDisplayKit/Texture。我刚刚将 UITableView 转换为 ASTableNode,但是,UITableView 依赖于 viewForHeade
我有一个 UITableView,它是一个分组 TableView 。我正在尝试将图像添加为 TableView 的标题(并且仅适用于第一部分)。我遇到的问题是图像覆盖了表格 View 的第一部分。
我是一个尝试学习 Swift 的初学者 我试图通过创建一个 uiview 并在返回它之前向其添加标签来制作自己的节标题。然而,标签永远不会显示,只显示 uiview。 我看不出我做错了什么? over
我是一名优秀的程序员,十分优秀!