2016-05-19 6 views
0

Итак, у меня есть контроллер вида с двумя отдельными видами. Я могу переключаться между двумя видами, нажимая кнопку. При первом переключении все работает нормально. Но во второй раз я переключаюсь (вернусь к первому). Вид становится толчком и значительно. У меня есть все ограничения, которые мне нужны, я просто не знаю, что с ним не так. Вот пример того, что происходит.xcode auto layout испорчена после нажатия кнопки

Перед тем, как нажать кнопку и переключают просмотров Before I switch views

И после я переключиться обратно на вид с другой точки зрения. After i switch views

И вот как я перехожу между двумя видами. Существует кнопка, которая просто устанавливает вид в том же контроллере. enter image description here

+0

Не считая проблем с автоматической компоновкой, похоже, что вы (видя свои снимки) лучше обслуживать с помощью контроллера панели вкладок. –

+0

Вид переключателя означает, что у вас есть несколько видов в горизонтальном прокрутке? или у вас есть несколько контроллеров просмотра для этого? как вы его переключаете? – Lion

ответ

1

Вы используете два разных контроллера вида и перемещаетесь между ними при нажатии кнопки? Или вы переключаете представления в одном и том же контроллере?

UPDATE:

Я создал простое приложение с 2-мя видами и используется sendsubviewtoback() для изменения взглядов на нажатую кнопку. Он работал отлично.

Вот код:

class ViewController: UIViewController { 

    @IBOutlet weak var Second: UIView! 
    @IBOutlet var First: UIView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     self.view.sendSubviewToBack(Second) 
     Second.hidden = true 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


    @IBAction func demo(){} 

    @IBAction func switchview(sender: UIButton){ 
     if sender.titleForState(.Normal) == "Next"{ 
     print("clicked next") 
      self.view.bringSubviewToFront(Second) 
      Second.hidden = false 

    } 
     else{ 
      print("prev clicked") 
      self.view.sendSubviewToBack(Second) 
      Second.hidden = true 
     } 
    } 
} 

При загрузке приложения: enter image description here Когда я нажимаю на Next: enter image description here Когда я нажимаю на Prev: enter image description here

Надежда это то, что вы ищем. :)

+0

тот же контроллер. У меня есть две точки зрения. Мне это нравится; @IBAction функ onLogoutClick (отправитель: AnyObject) { self.view = LoginView }, а затем переключиться на другой, как этот self.view = MyPageView – MNM

+0

У вас есть общие кнопки для переключения или различные кнопки для различных взглядов? – bhakti123

+0

Спасибо. Я ценю, что он работает сейчас. Это заводило меня орехами – MNM

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