iOS9开发斯坦福计算器显示在横向时消失

时间:2016-05-26 11:55:11

标签: ios iphone xcode

我是iOS开发人员的新手,我跟随iTunes U中的Stanford iOS9课程。

当我将设备旋转到横向时,当UILabel显示消失时,我感到非常困惑:

enter image description here

iPhone 5s模拟器。也不会出现在我的iPod touch(iOS 9.3)

但它似乎在iPhone 6或iPad模拟器上没问题

这是我的故事板:

enter image description here

我的Xcode版本是7.3.1

有谁知道原因? 谢谢!

------------------更新Jun 1 --------------------

我试图更改属性“Distribution"堆栈视图,包含显示和面板,来自" fill"按比例填写",显示出来!

当我尝试使用视图调试时,我发现显示变成了一条线。但我仍然无法找到错误。所有约束似乎都是正确的。

代码:

ViewController.swift

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
    }
}

我没有修改AppDelegate.swift文件

1 个答案:

答案 0 :(得分:0)

尝试设置分配="按比例填写"最顶层的堆栈视图。它可能会有所帮助/