Я создал панель инструментов с сегментированным управлением внутри, а затем сделал сегментированный элемент управления 320 широким. Затем я устанавливаю гибкие направляющие макетов с каждой стороны, чтобы заставить сегментированный элемент управления в центр. Это выглядит прекрасно в портрете, но сегментированный контроль не будет растягиваться для пейзажа.
Портрет (включает в себя установку IB и имитатор)
ландшафт (также включает в себя установку IB и имитатор)
Похоже, приложение магазин имеет сегментированный элемент управления, который установлен в определенные ширины и тогда вид не может вращаться. Я понимаю, что вы хотите, чтобы сегментированный элемент управления менял ширину с макетом, но, к сожалению, это невозможно с автоматическим расположением на данный момент.
Мое предложение было бы, если бы вы действительно хотели, чтобы сегментированный элемент управления изменял ширину с вращением, было бы программно устанавливать ширину, когда устройство поворачивается в альбомное. более
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
{
//set segmented control to landscape
}
if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
{
//set segmented control to portrait width
}
}
Одно дело, если вы в конечном итоге с помощью этого поворота устройство материал, вы все равно нужны эти гибкие распорки в IB, чтобы сохранить ваш сегментированный управления сосредоточены на панели инструментов
просто использовать UIView вместо UIToolbar – sim
@sim это то, что я пытаюсь избежать, но я, возможно, придется отступить на том, что, если нет никакого способа, чтобы сделать эту работу – Aleksander
В этом случае вам нужно настроить ширину uisegmentcontroller в коде и обработать изменения ориентации устройства, чтобы обновить его ширину, я думаю, что это сложнее, чем просто использовать uiview с автозапуском – sim