我有一个自定义的可扩展表视图。扩展的tableViewCell中有一个包含一些动画的按钮。所以当扩展tableViewCell时:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cells", for: indexPath) as! ProfileTableViewCell
if isExpanded && self.selectedIndex == indexPath {
cell.CustomView.frame = CGRect(x: 7, y: 8, width: 359, height: 283)
}
else {
cell.CustomView.frame = CGRect(x: 7, y: 8, width: 359, height: 115)
}}
您可以查看该单元格的更多详细信息。在扩展单元格的底部,有一个按钮。当您单击该按钮时,会出现另外三个按钮:
@IBAction func UserAddClicked(_ sender: Any) {
if UserAdd.currentImage == #imageLiteral(resourceName: "icons8-Plus-48"){
UIView.animate(withDuration: 0.3, animations: {
self.UserShare.alpha = 1
self.UserEdit.alpha = 1
self.UserDelete.alpha = 1
})
}else {
UIView.animate(withDuration: 0.3, animations: {
self.UserShare.alpha = 0
self.UserEdit.alpha = 0
self.UserDelete.alpha = 0
})
}
toggleButton(button: sender as! UIButton, onImage: #imageLiteral(resourceName: "icons8-Plus-48"), offImage: #imageLiteral(resourceName: "AddOn"))
}
当我单击单元格时,它应该返回到其原始的非扩展单元格高度。我的问题是当我点击单元格返回它的非扩展单元格高度时,我也希望三个按钮消失。因此,如果我第三次单击单元格,在单元格的底部我应该只看到一个按钮。但是当我第三次单击单元格来展开它时,我仍然看到了四个按钮。
答案 0 :(得分:1)
我正尽力回答这个问题。只需将您选择的表格视图单元格代码更改为:
if isExpanded && self.selectedIndex == indexPath {
cell.CustomView.frame = CGRect(x: 7, y: 8, width: 359, height: 283)
self.UserShare.alpha = 0
self.UserEdit.alpha = 0
self.UserDelete.alpha = 0
}
else {
cell.CustomView.frame = CGRect(x: 7, y: 8, width: 359, height: 115)
}
如果有效,请告诉我。