2016-01-06 5 views
0

У меня возникли проблемы с попыткой показать очень длинный вид стека в ландшафтном режиме. Я читал и смотрел несколько руководств об автоматической компоновке и ограничениях, но я не нашел ничего, что могло бы помочь мне в этой ситуации:iOS - отображение очень длинного вертикального представления стека в ландшафте

Я использую представления стека для создания представлений своего приложения iphone; В одном представлении у меня очень длинное вертикальное представление стека, сделанное другими горизонтальными представлениями стека. Я хотел бы найти способ показать весь вертикальный стек в ландшафтном режиме, возможно, позволяя пользователю скользить/прокручивать страницу и видеть остальную часть стека, или, может быть, «разбивать» стек во многих частях и помещать их в сторону по горизонтали.

Я сделал изображение, чтобы лучше объяснить

example

Любые предложения приветствуются!

+0

если и хотят, чтобы скользить/прокрутки и должны использовать Scrollview? stackview просто для легкого ограничения, если вам нужна горизонтальная прокрутка с динамической ячейкой, возможно, вам понадобится collectionview – Tj3n

+0

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

ответ

0

Вы можете изменить axis из stackview когда изменить ориентацию устройства в ландшафте:

@property (weak, nonatomic) IBOutlet UIStackView *stackView; 

-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator { 
switch ([[UIDevice currentDevice] orientation]) { 
    case UIDeviceOrientationLandscapeLeft: 
     _stackView.axis = UILayoutConstraintAxisHorizontal; 
     break; 
    case UIDeviceOrientationLandscapeRight: 
     _stackView.axis = UILayoutConstraintAxisHorizontal; 
     break; 
    default: 
     _stackView.axis = UILayoutConstraintAxisVertical; 
     break; 
    } 
}