美文网首页iOS开发iOS学习笔记iOS Developer
编辑模式下的UITableViewCell偏移问题

编辑模式下的UITableViewCell偏移问题

作者: 张智杰 | 来源:发表于2017-04-25 15:43 被阅读291次

    最近在项目中使用了UITableView的编辑模式来进行多选批量操作, 但是出现一个问题,就是用storyboard布局的话,cell里的内容默认是加到了contentView上的,这就导致了tableView变成编辑模式后,cell里的内容被压缩,造成一些显示上的问题。

    图中给contentView设置了背景色

    解决方案


    重写UITableCell的<strong>willTransition(to state: UITableViewCellStateMask)</strong>方法

        @IBOutlet weak var labelTrailing: NSLayoutConstraint!   //label右边距
    
        override func willTransition(to state: UITableViewCellStateMask) {
            super.willTransition(to: state)
            switch state {
            case UITableViewCellStateMask.showingEditControlMask:   //cell进入编辑模式
                labelTrailing.constant = -30
            case []:    //cell退出编辑模式
                labelTrailing.constant = 8
            default:
                break
            }
        }
    

    在进入编辑模式时,将label的右边距同步向右移,退出编辑模式时,再恢复原有布局

    之后.gif

    BY THE WAY


    在测试过程中发现其实UITableViewCell的一些系统自带的效果其实都是跟contentView同级的,例如上文的edit选择框,还有cell的accessoryType属性等等,在布局时这些细节最好还是有充分了解~~

    其他.gif

    相关文章

      网友评论

        本文标题:编辑模式下的UITableViewCell偏移问题

        本文链接:https://www.haomeiwen.com/subject/osmzvttx.html