update frame after layoutSubviews