¿Cambiar ancho de un control segmentado basado en títulos en cada segmento?

Comienza así, que me gusta

Pero luego agrego un segmento y esto sucede:
 El ancho se establece en IB, no en código.

Todo lo que necesito es un método para calcular el ancho sobre la marcha. Al final, haría algo como esto:

control.width = (labelWidths + marginWidths);
// where marginWidths = (marginWidth * control.numberOfSegments)

Respuestas a la pregunta(4)

Su respuesta a la pregunta