Zmień szerokość segmentowej kontroli na podstawie tytułów w każdym segmencie?

Zaczyna się tak, co lubię:

Ale potem dodam segment i to się dzieje:
 Szerokość jest ustawiana w IB, a nie w kodzie.

Wszystko, czego potrzebuję, to metoda obliczania szerokości w locie. Na koniec zrobiłoby to coś takiego:

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

questionAnswers(4)

yourAnswerToTheQuestion