编辑 tableView 时自定义单元格 imageView 移到左侧
Posted
技术标签:
【中文标题】编辑 tableView 时自定义单元格 imageView 移到左侧【英文标题】:Custom cell imageView shifts to left side when editing tableView 【发布时间】:2015-08-26 21:26:20 【问题描述】:我有一个 tableView,我需要能够从中删除项目,但是,当我将其从编辑模式放回时,我的自定义单元格中的 imageView 会转移到左侧。以下是一些相关代码和图片:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! NotificationsTableViewCell
cell.storiesLabel.text = stories[indexPath.row].name
cell.selectionStyle = UITableViewCellSelectionStyle.None
cell.shouldIndentWhileEditing = false
if stories[indexPath.row].notificationBool == true
cell.notificationImageView.image = UIImage(named: "notifications_filled.png")
else
cell.notificationImageView.image = UIImage(named: "notifications.png")
return cell
func editFollowedStoriesTableView()
if tableView.editing == true
tableView.setEditing(false, animated: false)
else
tableView.setEditing(true, animated: false)
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle
if(self.tableView.editing)
return UITableViewCellEditingStyle.Delete
return UITableViewCellEditingStyle.None
如何防止出现第二张图片? 非常感谢任何帮助!
【问题讨论】:
你在使用自动布局吗? 是的,我是。你想看看约束吗? 是的。能发个截图吗? 当然可以。 imgur.com/a/niVKu 您是否尝试在结束编辑后重新加载表格视图? 【参考方案1】:您有一些冲突的自动布局约束。您需要删除 UIImageView 上的以下约束之一:
Width
Leading Space to: Label
Trailing space to: Superview
这里,前导空格和尾随空格约束定义了 imageView 的宽度。然后你添加了做同样事情的宽度约束。现在,如果您希望图像视图具有固定宽度,请删除前导空格或尾随空格约束。如果不需要固定宽度,请删除宽度约束。
【讨论】:
这似乎不是问题。我尝试删除每个,它仍然以相同的方式显示。我现在也注意到,当我滑动出界时也会发生这种情况。这是一个 gif:imgur.com/4IV5BGg以上是关于编辑 tableView 时自定义单元格 imageView 移到左侧的主要内容,如果未能解决你的问题,请参考以下文章
编辑单元格时自定义 UITableViewCell 反向缩进
滚动 UITableView 时自定义单元格中的 UITextField 文本正在更改
调用 reloadData 时自定义 UITableViewCell 内存泄漏