У кого-нибудь был похожий баг? Элемент управления помещается из Interface Builder и никак не модифицируется кодом. Он работал нормально, пока некоторое время назад после случайной сборки не появилась ошибка. Происходит в двух местах в моем приложении, в то время как в другом контроллере просмотра такая же точная настройка. Во всех случаях элементы управления находятся внутри UINavigationItem. Удаление элемента управления и его повторное добавление ничего не изменило. Это происходит только на реальном устройстве, а не в симуляторе.
Части UISegmentedControl сворачиваются до нулевой ширины
comment
Если это поможет, у меня это произошло с некоторым кодом. Дома на предыдущей версии Xcode все было хорошо. При работе с 3.2.2 они развалились. Не знаю установленную дома версию.
- person Daniel Blezek   schedule 07.05.2010
comment
Я так понимаю, вам не удалось решить эту проблему?
- person Joonas Trussmann   schedule 10.05.2010
comment
Подтверждено, сборка с (а не только с) 3.1.3 исправляет ошибку, хотя она появляется последовательно с 3.2. Думаю, мне придется подать отчет об ошибке.
- person Joonas Trussmann   schedule 10.05.2010
Ответы (3)
Вы пытались установить явную ширину компонента или настроить свойство автоматического изменения размера элемента управления:
UISegmentedControl не расширяет размер панели навигации/очень сжимает
person
Chris Gummer
schedule
04.06.2010
И да и нет. Установка свойства автоматического изменения размера устраняет ошибку, но только тогда, когда контроллер представления не выталкивается на экран с помощью uitabbarcontrollersmoreviewcontroller. То есть, если я устанавливаю выбранный индекс на моей главной вкладке на 5, он отображается нормально, но если я перемещаюсь туда через меню «Дополнительно», это не кости.
- person Joonas Trussmann; 07.06.2010
У вас есть образец приложения, демонстрирующий такое поведение, которым вы можете поделиться?
- person Chris Gummer; 08.06.2010
Боюсь, в данный момент нет, но я попытаюсь посмотреть, смогу ли я воспроизвести это с новым приложением.
- person Joonas Trussmann; 08.06.2010
Вы пробовали создать его программно? Это определенно кажется ошибкой, но такой подход может свести на нет ошибки.
Объявите IBOutlet для UINavigationItem:
IBOutlet UINavigationItem *navItem;
затем, когда он загружается, выполните:
segCont=[[UISegmented Control alloc] initWithItems:[NSArray arrayWithObjects:@"item 1", @"item 2", nil]];
segCont.segmentedControlStyle=UISegmentedControlStyleBar; //Optional, but in a toolbar it looks best
navItem.titleView=segCont;
[segCont autorelease];
Я не тестировал этот код, но если он не работает, пожалуйста, прокомментируйте... (Однако он все еще может быть под влиянием ошибки)
person
Tom H
schedule
09.06.2010
Такой вид побеждает цель загрузки моей иерархии представлений из перьев, но тем не менее я попробую.
- person Joonas Trussmann; 10.06.2010
Поскольку ни одно из предложенных решений на самом деле не устранило проблему должным образом, я думаю, что единственным решением, по-видимому, является просто обновление до SDK 4.0, которое, похоже, устраняет проблему.
person
Joonas Trussmann
schedule
29.06.2010