У меня есть представление UIScroll, в котором есть UIView, которое называется shiftView
. Это ShiftView
вызовет определенный файл XIB в зависимости от значения сегментированного контроллера.
Все мои представления в xib имеют разную длину. Я хочу вызвать определенный файл xib и отобразить его в области shiftView
. Однако у меня возникли трудности.
Я выбрал свой shiftView
и встроил его в stackView
, а затем попытался изменить вызовы представления xib, однако это не сработало.
Первоначально я пытался установить представления как подпредставления, но и вызвать их на передний план. Это сработало для того, чтобы представить различные xib-представления, но проблема в том, что они имеют разную длину, так что я прокручивал вниз представления, которые все еще были видны.
//original code:
if counter == 0 {
simpleViewX = SimpleVC0().view
simpleViewY = SimpleVC1().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
if counter == 1 {
simpleViewX = SimpleVC2().view
simpleViewY = SimpleVC3().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
if counter == 2 {
simpleViewX = SimpleVC4().view
simpleViewY = SimpleVC5().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
if counter == 3 {
simpleViewX = SimpleVC6().view
simpleViewY = SimpleVC7().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
if counter == 4 {
simpleViewX = SimpleVC8().view
simpleViewY = SimpleVC9().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
if counter == 5 {
simpleViewX = SimpleVC10().view
simpleViewY = SimpleVC11().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
if counter == 6 {
simpleViewX = SimpleVC12().view
simpleViewY = SimpleVC13().view
shiftView.addSubview(simpleViewY)
shiftView.addSubview(simpleViewX)
}
}
новый код:
simpleViewX = SimpleVC0().view
UIStackView.init(arrangedSubviews: [simpleViewX!])
в исходном коде я менял представления, делая их подпредставлением и выводя на передний план, в этом новом коде я пытаюсь сделать представления компонентом UIStack.