Creat First iOS App
At this article you can learn how to create your own iOS calculator app, Motion Calculator. I share the source code on my Github account.
Firs step create file ViewController.swift on your project:
// بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ
//
// ViewController.swift
// Motion Calculator
//
// Created by Afriwan Ahda on 12/31/17.
// Copyright © 2017 Motion Studio. All rights reserved.
//
import UIKit
enum Operation:String {
case Add = "+"
case Subtract = "-"
case Divide = "/"
case Multiply = "*"
case NULL = "Null"
}
class ViewController: UIViewController {
@IBOutlet weak var outputLbl: UILabel!
var runningNumber = ""
var leftValue = ""
var rightValue = ""
var result = ""
var currentOperation:Operation = .NULL
override func viewDidLoad() {
super.viewDidLoad()
outputLbl.text = "0"
}
@IBAction func numberPressed(_ sender: RoundButton) {
if runningNumber.count <= 9 {
runningNumber += "\(sender.tag)"
outputLbl.text = runningNumber
}
}
@IBAction func dotPressed(_ sender: RoundButton) {
if runningNumber.count <= 8 {
runningNumber += "."
outputLbl.text = runningNumber
}
}
@IBAction func equalsPressed(_ sender: RoundButton) {
operation(operation: currentOperation)
}
@IBAction func addPressed(_ sender: RoundButton) {
operation(operation: .Add)
}
@IBAction func substractPressed(_ sender: RoundButton) {
operation(operation: .Subtract)
}
@IBAction func multiplyPressed(_ sender: RoundButton) {
operation(operation: .Multiply)
}
@IBAction func dividePressed(_ sender: RoundButton) {
operation(operation: .Divide)
}
@IBAction func allClearPerssed(_ sender: RoundButton) {
runningNumber = ""
leftValue = ""
rightValue = ""
result = ""
currentOperation = .NULL
outputLbl.text = "0 "
}
func operation(operation: Operation) {
if currentOperation != .NULL {
if runningNumber != "" {
rightValue = runningNumber
runningNumber = ""
if currentOperation == .Add {
result = "\(Double(leftValue)! + Double(rightValue)!)"
} else if currentOperation == .Subtract {
result = "\(Double(leftValue)! - Double(rightValue)!)"
} else if currentOperation == .Multiply {
result = "\(Double(leftValue)! * Double(rightValue)!)"
} else if currentOperation == .Divide {
result = "\(Double(leftValue)! / Double(rightValue)!)"
}
leftValue = result
if (Double(result)!.truncatingRemainder(dividingBy: 1) == 0) {
result = "\(Int(Double(result)!))"
}
outputLbl.text = result
}
currentOperation = operation
} else {
leftValue = runningNumber
runningNumber = ""
currentOperation = operation
}
}
}
Second step, create file RoundButton.swift for circle view of the button:
// بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ
//
// RoundButton.swift
// Motion Calculator
//
// Created by Afriwan Ahda on 12/31/17.
// Copyright © 2017 Motion Studio. All rights reserved.
//
import UIKit
@IBDesignable
class RoundButton: UIButton {
@IBInspectable var roundButton:Bool = false {
didSet {
if roundButton {
layer.cornerRadius = frame.height / 2
}
}
}
override func prepareForInterfaceBuilder() {
if roundButton {
layer.cornerRadius = frame.height / 2
}
}
}
for the storyboard and others file download full source code, you can modify and learn much how to make iOS app from the source code. Happy code!
Posted on: November 20, 2018, by : Afriwan Ahda
I’m extremely impressed with your writing abilities as neatly as with the layout for your blog. Is this a paid theme or did you modify it your self? Anyway stay up the nice high quality writing, it is rare to peer a nice blog like this one today!