I have a scenario where I need to change UIEdgeInsets for UIButton which is added to the UITableViewCell, I set it in layoutSubviews but that's called a number of times, it also work's with init too but I am not sure that's really a place because that will called only once.
override func layoutSubviews() {
        super.layoutSubviews()
        if imageView != nil {
            titleEdgeInsets = UIEdgeInsets(top: 52, left: -10, bottom: 0, right:-10)
        }
    }
Can someone tell me which one is the ideal place and why?