2016-05-26 5 views
1

私はiOSのdevのに新たなんだと私はiTunesのU.でiOS9のDevスタンフォード電卓ディスプレイ風景

をスタンフォードiOS9コースを以下だと、私は、デバイスを回転させたときにUILabelの表示が消えたときに、私は非常に混乱していた時に消えました

enter image description here

iPhone 5Sシミュレータ:風景へ。また、私のiPod touch(iOSの9.3)

上に表示さしかし、iPhone 6やiPadシミュレータ

に微細であるように思わそして、ここに私のストーリーボードがありますされていません。

enter image description here

私のXcodeバージョンは7.3.1

理由を知っていますか? 感謝!

---------------------------------------------------------

I

ビューのデバッグを使用しようとしたとき、私は表示とパネルを含むスタックビューのプロパティ "Distribution"を "fill"から "proportionally"に変更しようとしました。 。。ディスプレイはラインになりました。しかし、私はまだミスを見つけることができないすべての制約が正しいように見えることが判明

コード:

のViewController

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet private weak var display: UILabel! 

    private var userIsInTheMiddleOfTyping=false 
    private var userTypedDecimalPoint=false 

    @IBAction private func touchDigit(sender: UIButton) { 
     let digit=sender.currentTitle! 


     if userIsInTheMiddleOfTyping && display.text != "0" { 
      if userTypedDecimalPoint && (digit == "."){ 

      } else { 
       let textCurrentlyInDisplay = display.text! 
       display.text = textCurrentlyInDisplay + digit 
       if digit == "." { 
        userTypedDecimalPoint = true 
       } 
      } 
     } else { 
      if digit == "." { 
       display.text = "0." 
       userTypedDecimalPoint = true 
      } else if (digit == "0") && (display.text == "0") { 
       // Do nothing... 
      } else { 
       display.text = digit 
      } 
     } 
     userIsInTheMiddleOfTyping = true 
    } 

    private var displayValue: Double { 
     get { 
      return Double(display.text!)! 
     } 
     set { 
      display.text = String(newValue) 
     } 
    } 

    private var brain = CalculatorBrain() 

    @IBAction private func performOperation(sender: UIButton) { 
     if userIsInTheMiddleOfTyping { 
      brain.setOperand(displayValue) 
      userIsInTheMiddleOfTyping = false 
     } 
     userTypedDecimalPoint = false 
     if let mathmaticalSymbol = sender.currentTitle { 
      brain.performOperation(mathmaticalSymbol) 
     } 
     displayValue = brain.result 
    } 
} 

を.swiftそして、私はファイルを変更しませんでしたが=最上位のスタックを表示するために、「比例的塗りつぶし」の配布を設定してみ

+0

関連するコードと文脈を投稿してください – Preuk

+1

私の最初の推測はレイアウトの制約になります。しかし、それをデバッグする方法は、Xcodeのビューデバッグ機能を使用することです。それはあなたのラベルをブロックするものがあるのか​​、それがオフスクリーンであるのかどうかを見ることができます。 –

+0

@PhillipMillsあなたの助言に感謝し、私はディスプレイが1行になったことがわかりました!そして制約はうまくいくようだ –

答えて