我有一个TableView,可以重新排列和扩展单个项目。看起来像这样:
如您所见,重新排列按钮始终位于项目的中间。因此,展开一个项目时,它会覆盖一些控件。是否有可能总是在右上角有这个重新排列按钮?因此,它与未展开的项目具有相同的位置,并且在展开时不会移动吗?
这是我在其他线程上发现的东西,但是它不起作用。位置保持不变,但现在已被禁用。
cell.subviews.forEach { (view) in
if (view.description.range(of: "UITableViewCellReorderControl") != nil) {
let resizedGripView = UIView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
resizedGripView.addSubview(view)
cell.addSubview(resizedGripView)
let transform = CGAffineTransform(translationX: cell.frame.size.width - cell.frame.size.width, y: 1)
resizedGripView.transform = transform
}
}
有什么想法吗?
答案 0 :(得分:0)
有一个更好的解决方案。切勿将视图直接添加到单元格。始终将您的视图添加到单元格的contentView
中。 contentView
的大小应根据单元格的装饰而定。