重新排序tableviewcells,右边的白色“条形图”

时间:2016-10-29 16:24:11

标签: ios swift uitableview

我正在努力解决一个问题,我似乎无法找到解决方案。

为了快速说明问题所在,我添加了一些图片:

这是我的tableview在添加以纵向模式拍摄的图像时所做的事情:

PortraitImage

正如你所看到的,它在imageview的右侧添加了这个白色条。在tableviewcell中的imageview对边距有约束 - 就像reordercontrol占用了一些空间,imageview无法使用。

奇怪的是,当我添加以横向模式拍摄的图像时,imageview的行为就像我想要的那样 - 正如你在这里看到的那样:

LangscapeImage

我无法弄清楚问题是什么,或者 - 我知道问题是tableview处于编辑模式,因为当我将其设置为false时,问题就解决了 - 但后来我无法重新排序我的tableview细胞:))

以下是一些相关代码:

tableView.setEditing(true,animated:true)

func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    return true
}

func tableView(tableView: UITableView, shouldIndentWhileEditingRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    return false
}

func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
    return UITableViewCellEditingStyle.None
}

我试过看看是否可以删除reordercontrol的子视图,如下所示:

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
    for view in cell.subviews {
        print(view.description)
        if view.description.containsString("UITableViewCellReorderControl"){
            view.removeFromSuperview()
        }
    }
}

没有运气..它只是删除了reordercontrol(三行),白色条仍在那里..

我的imageview的contentMode在故事板中设置为AspectFill。

有什么建议吗? : - )

1 个答案:

答案 0 :(得分:0)

我通过使用collectionView交换tableView来修复它,然后添加了一个手势来重新排序单元格:)无论如何,谢谢..