Разбойная анимация UISegmentedControl при частичном завитке

У меня есть контроллер вида с кнопкой, которая активирует Модальный Segue Storyboard с переходом Partial Curl.

На открывшемся контроллере просмотра есть UISegmentedControl.

Наконец, я уменьшил размер шрифта UISegmentedControl.

Когда кнопка нажата, страница закручивается, чтобы отобразить сегментированный элемент управления - во время анимации завитки вы можете четко видеть, что сегментированный элемент управления одушевлен от нулевой ширины до фактической ширины - он выглядит очень странным и беспорядочным, и я могу Не поймите, почему это происходит!

Я смог воспроизвести эффект следующим образом:

  • Создать проект с одним представлением
  • Добавить контроллер второго представления в раскадровку
  • Добавить UIButton в первый контроллер представления
  • Добавить UISegmentedControl в новый контроллер представления
  • Свяжите кнопку со вторым видом с помощью Partial Seal Segue
  • Добавить файл класса в проект, унаследованный от UIViewController
  • Добавьте IBOutlet для сегментированного элемента управления в новый класс
  • Свяжите второй контроллер представления с новым классом и сегментированным управление с выходом
  • В viewDidLoad: в новом классе добавьте:

    [segmentedControl setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIFont boldSystemFontOfSize:14] forKey:UITextAttributeFont] forState:UIControlStateNormal];
    

Аналогичный эффект наблюдается и при открытии завитка в ландшафте

Ответ 1

Я столкнулся с чем-то похожим. Попробуйте изменить selectedSegmentIndex прямо перед завиванием (вы можете установить его на -1 для отмены), чтобы заставить элемент управления иметь ширину.