【发布时间】:2020-05-16 06:11:32
【问题描述】:
我有在每个单元格中填充有颜色的 tableView 单元格。我想要的是当用户点击单元格时,它会“打开”/展开,以便该颜色填充整个屏幕。目前,它仅从我单击的单元格向下缩放。我还需要它沿 y 轴向上缩放,每个单元格都扩展到屏幕顶部,但我不确定是什么禁止它。
let expandedColorView: UIView = {
let view = UIView()
return view
}()
@objc func userTap(sender: UITapGestureRecognizer) {
if sender.state == UIGestureRecognizer.State.ended {
let tapLocation = sender.location(in: self.paletteTableView)
if let tapIndexPath = self.tableView.indexPathForRow(at: tapLocation) {
if let tappedCell = self.tableView.cellForRow(at: tapIndexPath) {
UIView.animate(withDuration: 1.0, animations: {
tappedCell.transform = CGAffineTransform(scaleX: 1, y: 50)
} )
}
}
}
}
UITapGestureRecognizer 在 tableView(cellForRowAt:) 中声明,cell.isUserInteractionEnabled = true 已启用。
我尝试在UIView.animate 中更改扩展颜色视图边界self.expandedColorView.bounds.size.height = UIScreen.main.bounds.height,但这并没有改变任何东西。我在想单元格的框架需要更改,以便它与父视图框架(我认为应该是 tableView)匹配,但我不知道该怎么做。
任何帮助将不胜感激!
我附上了问题的 gif:
【问题讨论】:
标签: ios swift uitableview cgaffinetransform