iOS开发 修改tableView的组头悬停位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发 修改tableView的组头悬停位置相关的知识,希望对你有一定的参考价值。
参考技术A 最近公司商城APP的积分页面改版,有一个细节是tableView是全屏的但是向上滑动时要求组头停靠在导航栏下方。效果大致如下:做过组头悬停效果的同学应该都知道:如果只设置tableView的style为 UITableViewStylePlain ,不做其它处理,其组头的悬停位置是tableView的最顶部,显然不能满足需求。
用修改tableView的 contentInset 的方式来间接达到修改tableView的组头悬停位置的效果。
GitHub demo
鼠标悬停事件在 TableView 的标题中不起作用
【中文标题】鼠标悬停事件在 TableView 的标题中不起作用【英文标题】:Mouse hover events not working in the header of the TableView 【发布时间】:2019-06-21 06:56:13 【问题描述】:这里有类似的问题
How to get Clicked or Pressed event on QML TableView header?
我想在悬停时突出显示标题。但是headerDelegate
中的行为很奇怪。
headerDelegate: Rectangle
height:30
MouseArea
hoverEnabled: true
anchors.fill: parent
onPressed:
console.debug("This will not be printed")
onEntered:
console.debug("Will print on pressed event")
onExited:
console.debug("Will print on released event")
悬停不会触发任何事件。
【问题讨论】:
本题不需要C++标签 【参考方案1】:悬停和其他状态由标头委托中的styleData
组件处理。
如果您想知道悬停何时发生变化,请将styleData
的不同信号(onPressed
、onContainsMouseChanged
等)连接到一个函数。
例如:
headerDelegate: Rectangle
height:30
color: "red"
Connections
target: styleData
onPressedChanged:
console.debug("PRESSED: "+ styleData.column + " " + styleData.pressed)
onContainsMouseChanged:
if (styleData.containsMouse)
console.debug("The mouse is hover the header of column " + styleData.column)
else
console.debug("The mouse is leaving the header of column " + styleData.column)
【讨论】:
谢谢。它在headerDelegate
中运行良好。我也想在rowDelegate
中使用这种方法。但是onContainsMouseChanged
在rowDelegate
内部不起作用
这里讨论了在rowDelegate
中管理事件。 ***.com/questions/56684357/…不知能不能用Connections
的方法以上是关于iOS开发 修改tableView的组头悬停位置的主要内容,如果未能解决你的问题,请参考以下文章
iOS--CollectionView添加类似TableView的TableViewHeaderView 和 SectionHeader 的置顶悬停效果
UICollectionView 自定义组头组尾的XIB方法
iOS开发 点击cell后刷新tableview后回到tableView顶部了,怎么让他的位置不动啊,留在原来cell的位置