- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发 Swift 4 iOS 应用程序。我有一个显示在卡片 View 中的自定义表格单元格(参见下面的示例屏幕截图)。
当我在一行上实现 SwipeActions 时,滑动菜单的背景颜色的高度占据了单元格行的整个高度。
我希望它只是卡片 View 的高度。我应该补充一点,每一行都有不同的高度,因为它们包含不同长度的小块文本。有没有办法做到这一点?
最佳答案
存在执行此操作的替代方法。您可以更改大小,但它是旧模式,例如更改高度 (view.size.height= (newvalue))
。要更改位置,请使用 (view.frame.origin.y = (newvalue))
。它将在静态高度单元格和 iOS >=11 中工作。这不适用于动态高度单元格。在 tableviewcell 的委托(delegate)方法中进行这些更改
func tableView(_ tableView: UITableView, willBeginEditingRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) as? TempcellTableViewCell{
if let spvcell = cell.superview{
for svswipe in spvcell.subviews{
let typeview = type(of: svswipe.self)
if typeview.description() == "UISwipeActionPullView"{
svswipe.frame.size.height = 100//size you want
svswipe.frame.origin.y = 5
}
}
}
}
}
在 leadingSwipeActionsConfigurationForRowAt/trailingSwipeActionsConfigurationForRowAt
函数中。在返回 UISwipeActionsConfiguration 对象之前进行以下更改。
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let Cancel = UIContextualAction.init(style: .normal, title: "Cancel") { (action, view, nil) in
print("Cancel")
}
Cancel.backgroundColor = UIColor.red
let config = UISwipeActionsConfiguration.init(actions: [Cancel])
config.performsFirstActionWithFullSwipe = false // Prevent swiping
tableView.reloadRows(at: [indexPath], with: .none)
return config
}
这个解决方案对我有用:D ...我希望这个答案可以帮助你
关于ios - 更改自定义表格单元格上 leading/trailingSwipeActions 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49489447/
我尝试实现新方法 trailingSwipeActionsForRowAt 和 leadingSwipeActionsConfigurationForRowAt 来显示带有图标的行操作... 不幸的是
我目前正在开发 Swift 4 iOS 应用程序。我有一个显示在卡片 View 中的自定义表格单元格(参见下面的示例屏幕截图)。 当我在一行上实现 SwipeActions 时,滑动菜单的背景颜色的高
我将我的 tablerowactions 更新为 swift 4 等效项,以便能够设置图标而不是文本作为用户在表格元素上向左滑动时显示的按钮。我的问题是,如果用户从右向左滑动而不是仅显示所有可用操作,
我是一名优秀的程序员,十分优秀!