首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Swift中制作计算器

制作一个简单的计算器应用是一个很好的Swift和iOS开发入门项目。以下是一个详细的步骤指南,帮助你创建一个基本的计算器应用。

1. 创建一个新的Xcode项目

  1. 打开Xcode。
  2. 选择 "Create a new Xcode project"。
  3. 选择 "App" 并点击 "Next"。
  4. 输入项目名称(例如 "Calculator"),选择 "Swift" 作为编程语言,确保 "User Interface" 选择 "Storyboard"。
  5. 选择保存位置并点击 "Create"。

2. 设计用户界面

Main.storyboard 中设计计算器的用户界面。你可以使用按钮、标签和堆栈视图来布局计算器。

  1. 打开 Main.storyboard
  2. 拖动一个 UILabel 到视图控制器顶部,用于显示结果。
  3. 使用 UIButton 创建数字按钮(0-9)和操作按钮(+、-、*、/、=、C)。
  4. 使用 UIStackView 来组织按钮,使其布局整齐。

3. 创建视图控制器

ViewController.swift 中实现计算器的逻辑。

代码语言:javascript
复制
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var displayLabel: UILabel!
    
    private var isFinishedTypingNumber: Bool = true
    private var currentValue: Double {
        get {
            guard let number = Double(displayLabel.text!) else {
                fatalError("Cannot convert display label text to a Double.")
            }
            return number
        }
        set {
            displayLabel.text = String(newValue)
        }
    }
    
    private var firstNumber: Double = 0
    private var operation: String = ""
    
    @IBAction func numberPressed(_ sender: UIButton) {
        if let numberValue = sender.currentTitle {
            if isFinishedTypingNumber {
                displayLabel.text = numberValue
                isFinishedTypingNumber = false
            } else {
                displayLabel.text = displayLabel.text! + numberValue
            }
        }
    }
    
    @IBAction func operationPressed(_ sender: UIButton) {
        isFinishedTypingNumber = true
        firstNumber = currentValue
        if let operationValue = sender.currentTitle {
            operation = operationValue
        }
    }
    
    @IBAction func equalsPressed(_ sender: UIButton) {
        isFinishedTypingNumber = true
        let secondNumber = currentValue
        
        var result: Double = 0
        
        switch operation {
        case "+":
            result = firstNumber + secondNumber
        case "-":
            result = firstNumber - secondNumber
        case "*":
            result = firstNumber * secondNumber
        case "/":
            result = firstNumber / secondNumber
        default:
            fatalError("The operation passed in does not match any of the cases.")
        }
        
        currentValue = result
    }
    
    @IBAction func clearPressed(_ sender: UIButton) {
        displayLabel.text = "0"
        isFinishedTypingNumber = true
        firstNumber = 0
        operation = ""
    }
}

4. 连接UI元素和代码

  1. 打开 Main.storyboard
  2. 选择视图控制器并打开 "Assistant Editor"(双窗口模式)。
  3. 确保右侧窗口显示 ViewController.swift
  4. 按住 Control 键并从 UILabel 拖动到 ViewController.swift,创建一个 IBOutlet,命名为 displayLabel
  5. 按住 Control 键并从每个数字按钮拖动到 ViewController.swift,创建一个 IBAction,命名为 numberPressed
  6. 按住 Control 键并从每个操作按钮(+、-、*、/)拖动到 ViewController.swift,创建一个 IBAction,命名为 operationPressed
  7. 按住 Control 键并从等号按钮(=)拖动到 ViewController.swift,创建一个 IBAction,命名为 equalsPressed
  8. 按住 Control 键并从清除按钮(C)拖动到 ViewController.swift,创建一个 IBAction,命名为 clearPressed

5. 运行应用

  1. 选择一个模拟器或连接一个物理设备。
  2. 点击 Xcode 顶部的 "Run" 按钮(或按 Cmd + R)。
  3. 你的计算器应用应该在模拟器或设备上运行。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

3分23秒

「Adobe国际认证」在 iPad 上制作带有图层的合成

1分1秒

DevOpsCamp 在实战中带你成长

373
6分5秒

063-在nginx 中关闭keepalive

16分13秒

06.在ListView中实现.avi

6分31秒

07.在RecyclerView中实现.avi

15秒

海盗船在咖啡中战斗

6分15秒

53.在Eclipse中解决冲突.avi

11分13秒

04.在ListView中播放视频.avi

5分32秒

07.在RecyclerView中播放视频.avi

9分37秒

09.在WebView中播放视频.avi

6分15秒

53.在Eclipse中解决冲突.avi

1分18秒

如何在 Adob​​e Photoshop 中制作多重曝光图像?

领券