In iOS13, if you set cell.layer.masksToBounds = YES in the cellForRowAtIndexPath of UITableViewDataSource, it will be re-created in willDisplayCell, but if you use cell.clipsToBounds = YES everything will be fine. I am very confused and don’t know why.