Я пытаюсь переключаться между 2 tableviews на основе управления сегмента. Для этого я протестировал 2 реализации:Переключение два вида с теми же ограничениями, одна неправильно выровнены
Вариант A: иметь 2 вида контейнеров, сложенных в раскадровку (те же ограничения), а затем переключать представления контейнеров на основе управления сегментом.
Вариант B: Есть настройка вида 1 контейнера, добавлять и удалять точку программно.
Проблема с обеих реализаций является то, что первая точка зрения на дисплее всегда правильно выровнены (независимо от того, если его вид А или вид В), второй один неправильно выровнены! рррр
Почему второй вид, чтобы отобразить неправильно выровнены!?!?
Вот код, например А:
class MainViewController: UIViewController {
@IBOutlet weak var viewOne: UIView!
@IBOutlet weak var viewTwo: UIView!
@IBOutlet weak var segmentContrl: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
showView(0)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func showView(index:Int){
switch index
{
case 0:
viewOne.hidden = false
viewTwo.hidden = true
break;
case 1:
viewOne.hidden = true
viewTwo.hidden = false
break;
default:
break;
}
}
@IBAction func onSegmentChanged(sender: AnyObject) {
print("onSegmentChanged \(segmentContrl.selectedSegmentIndex)")
showView(segmentContrl.selectedSegmentIndex);
}
раскадровки, виды контейнеров сложены: Контейнер просмотров ограничения, оба имеют то же самое!
Можем ли мы увидеть код? Также обратите внимание, что удаление представления из его супервизора также позволяет удалить недочеты, которые не были подготовлены при добавлении представления в его исходное представление. Если вы хотите сохранить ограничения, вы должны использовать свойство 'hidden'. – deadbeef
Добавлен пример кода для опции A. Обратите внимание: если я использую только один вид контейнера для отображения либо вида A или B без какой-либо логики переключения, оба представления контейнера работают правильно. Странный! Спасибо! – Nairolf