#ios #controls
#iOS #элементы управления
Вопрос:
Я ожидаю изменить UIView (UISegmentedView, чтобы быть более подробным), чтобы изменить положение, но оно не применяется:
- (void)viewDidLoad
{
[super viewDidLoad];
self.segmentedControl.frame = CGRectMake(0, 0, 3 * 75, 50); // not working
self.segmentedControl.center = self.view.center; // not working
[self.segmentedControl setWidth:75 forSegmentAtIndex:0]; // working
[self.segmentedControl setWidth:75 forSegmentAtIndex:1]; // working
[self.segmentedControl setWidth:75 forSegmentAtIndex:2]; // working
}
Еще один результат заключается в том, что сегмент # 3 нельзя щелкнуть, хотя он включен, а правая часть сегмента # 2 также недоступна для просмотра, что заставляет меня думать, что существует ограничение ширины активной области управления. Представление создается в UIViewController inheritor и xib.
Комментарии:
1. Включено ли у вас автоматическое описание в вашем IB?
2. Откройте свой вид в построителе интерфейса. Теперь в утилитах покажите инспектор файлов. Вы найдете флажок «Использовать автозапуск». Попробуйте снять флажок.
3. да. вот и все! Спасибо
Ответ №1:
Я опубликовал это как ответ, чтобы вы могли проверить его как действительный. Для тех, у кого есть эти проблемы, первое, что я бы проверил, это включено ли автоматическое описание в построителе интерфейса вашего представления.
Откройте свой вид в построителе интерфейса. Теперь в утилитах покажите инспектор файлов. Вы найдете флажок «Использовать автозапуск». Если этот флажок установлен, попробуйте снять его, чтобы посмотреть, решит ли он вашу проблему.
Комментарии:
1. кстати, как я могу достичь той же цели (установить ширину сегментов), не отключая автоматическую компоновку?
2. Вы можете добиться этого, добавив ограничения к своему представлению. После этого вы можете связать эти ограничения так же, как и с любым другим IBOutlet, а затем изменить постоянное значение ограничения