     
     open override func layoutMarginsDidChange() {
         super.layoutMarginsDidChange()
-        setNeedsUpdateInset()
+        setNeedsAlignToInset()
     }
     
     open override func layoutSubviews() {
-        updateInsetIfNeeded()
+        alignToInsetIfNeeded()
         super.layoutSubviews()
     }
     

            : super.detailTextLabel
    }
    
    open override var separatorInset: UIEdgeInsets { didSet { setNeedsUpdateInset() }}
    
    // MARK: - Update Inset
    
    private var needsUpdateInset = true
    
    private func setNeedsUpdateInset() {
        needsUpdateInset = true
        setNeedsLayout()
    }
    
    private func updateInsetIfNeeded() {
        if needsUpdateInset {
            needsUpdateInset = false
            updateInset()
        }
    }
    
    private func updateInset() {
        guard let cellView = cellView,
            let leadingConstraint = contentView
                .constraints(with: cellView)?
                .first( where: { [.leading, .left, .leadingMargin, .leftMargin].contains($0.firstAttribute) })
            else { return }
        if isInsetAligned {
            let insetPlusIndentationLeft = CGFloat(indentationLevel) * indentationWidth + separatorInset.left
            let difference = insetPlusIndentationLeft - layoutMargins.left
            leadingConstraint.constant = max(difference, 0.0)

open class NibTableViewCell: UITableViewCell {
    
    /// Should position to leading edge of the cellView to match the cell's separatorInset.left. Default = true.
    @IBInspectable open var isAlignedToInset: Bool = true { didSet { setNeedsAlignToInset() }}
    
    // MARK: - Init
    
