2016-05-19 11 views
0

私は2つの別々のビューを持つビューコントローラを持っています。私はボタンを押して2つのビューを切り替えることができます。初めて私はすべてうまく動作します。しかし、私が2回目に切り替えると(最初に戻る)ビューが大きく押し上げられます。私が必要とするすべての制約があるので、何が間違っているのか分かりません。 ここには何が起こっているのかの例があります。ボタンを押した後にxcodeの自動レイアウトが乱れる

私はボタンを押して、切り替える前景色Before I switch views

そして、私は他のビューからのビューに切り替えた後。 After i switch views

ここでは、2つのビューをどのように変更するかを説明します。 同じビューコントローラでビューを設定するボタンがあります。 enter image description here

+0

自動レイアウトの問題を無視して、あなたの写真が見えているように見えますが、タブバーコントローラを使用する方が良いでしょう。 –

+0

スイッチビューとは、水平スクロールビューで複数のビューを表示することを意味しますか?またはそれのための複数のビューコントローラがありますか?どのようにそれを切り替える? – Lion

答えて

1

ボタンを押したときに、2つの異なるビューコントローラを使用してそれらの間を移動していますか? 同じビューコントローラでビューを切り替えるのですか?

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 hereenter image description here 私は[次へ]をクリックすると enter image description here

が、これは何ですホープ探しています。 :)

+0

同じビューコントローラ。私はその中に2つの見解を持っています。私はこれを好きです。 @IBAction func onLogoutClick(送信者:AnyObject){ self.view = LoginView }次にself.view = MyPageView – MNM

+0

のように別のボタンに切り替えたり、異なるビューの異なるボタンを使用していますか? – bhakti123

+0

ありがとうございます。私はそれが今働くことに感謝します。それがナッツを動かしていた – MNM

関連する問題