2015-08-25 5 views
0

Я пытаюсь переключаться между 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); 
} 

раскадровки, виды контейнеров сложены: storyboard Контейнер просмотров ограничения, оба имеют то же самое! constraints

+0

Можем ли мы увидеть код? Также обратите внимание, что удаление представления из его супервизора также позволяет удалить недочеты, которые не были подготовлены при добавлении представления в его исходное представление. Если вы хотите сохранить ограничения, вы должны использовать свойство 'hidden'. – deadbeef

+0

Добавлен пример кода для опции A. Обратите внимание: если я использую только один вид контейнера для отображения либо вида A или B без какой-либо логики переключения, оба представления контейнера работают правильно. Странный! Спасибо! – Nairolf

ответ

0

Исправлена ​​ошибка, устраняя «Настроить вставки прокрутки» во всех 3-х диспетчерах отображения, показанных выше.

Тогда я приложена взгляды контейнера на верхней и нижней выравнивания затем направляющих макета.

РАБОТЫ! : P

Смежные вопросы