Inhaltsverzeichnis:

Einen Rechner in Xcode mit Swift erstellen – wikiHow
Einen Rechner in Xcode mit Swift erstellen – wikiHow

Video: Einen Rechner in Xcode mit Swift erstellen – wikiHow

Video: Einen Rechner in Xcode mit Swift erstellen – wikiHow
Video: Swift Tutorial: Lerne Swift und Xcode in 2,5 Stunden 2024, Dezember
Anonim
Image
Image

In diesem kurzen Tutorial zeige ich Ihnen, wie Sie mit Swift in Xcode einen einfachen Taschenrechner erstellen. Diese App ist so konzipiert, dass sie fast identisch mit der ursprünglichen Taschenrechner-App für iOS aussieht. Sie können entweder der Anleitung Schritt für Schritt folgen und den Rechner mit mir bauen, oder Sie gehen einfach zum letzten Schritt und kopieren den Code und fügen ihn in Ihren View-Controller ein. Stellen Sie in diesem Fall jedoch sicher, dass Sie alle Ihre Elemente auf dem Storyboard mit Ihrem Ansichtscontroller verbinden.

Schritt 1: Erstellen des Projekts

Storyboard-Layout
Storyboard-Layout

Der erste Schritt bei der Erstellung unseres Rechners besteht darin, das Projekt tatsächlich in Xcode zu erstellen. Sie können dies tun, indem Sie auf "Neues Xcode-Projekt erstellen" klicken und es nach Belieben benennen. Ich habe meinen "Rechner" genannt. Im nächsten Schritt wählen Sie als App-Typ "Single View Application" aus. Behalten Sie alle anderen Informationen als Standardwert bei.

Schritt 2: Storyboard-Layout

Schritt 2 der Erstellung unseres Rechners erfordert, dass Sie ein grundlegendes Layout im Storyboard entwerfen. Bevor Sie damit beginnen, empfehle ich, Ihr Simulatorgerät auf das iPhone 7 Plus umzustellen. Beginnen Sie, indem Sie eine Schaltfläche auf das Storyboard ziehen und ihre Abmessungen auf 89 x 89 ändern. Ändern Sie die Hintergrundfarbe im Attribut-Inspektor in Quecksilber und die Schriftfarbe in Wolfram. Als nächstes passen Sie die Schriftart auf Helvetica Light 30 an. Kopieren Sie die Schaltfläche weiter und fügen Sie sie ein, bis Sie insgesamt 20 haben. Passen Sie das Layout dieser Schaltflächen so an, dass Sie fünf Zeilen und vier Spalten haben.

Schritt 3: Storyboard-Design und Ästhetik

Storyboard-Design und Ästhetik
Storyboard-Design und Ästhetik

Löschen Sie die zweite Schaltfläche in der unteren Reihe und erweitern Sie die erste Schaltfläche, um diesen Platz einzunehmen. Ändern Sie den Platzhalterwert dieser Schaltfläche auf Null. Ändern Sie die Zahlenwerte und Symbole jeder Schaltfläche weiter, bis sie praktisch mit dem oben gezeigten Bild identisch sind. Im Attributeinspektor ist die dunklere graue Farbe silber, die orange Farbe ist Mandarine und die Schriftfarbe wird auf den orangefarbenen Schaltflächen in Schnee geändert. Klicken Sie anschließend auf den Ansichtscontroller und ändern Sie seine Hintergrundfarbe in Schwarz. Fügen Sie ein Etikett über den Schaltflächen hinzu und passen Sie die Größe an, wie Sie sich wohl fühlen. Richten Sie den Text rechts aus und ändern Sie die Schriftart des Etiketts auf Helvetica light 70. Wenn Sie möchten, können Sie allen Elementen Einschränkungen hinzufügen, damit die App für alle Geräte gleich aussieht.

Schritt 4: Elemente verbinden und integrieren

Elemente verbinden und integrieren
Elemente verbinden und integrieren
Elemente verbinden und integrieren
Elemente verbinden und integrieren

Öffnen Sie den Attributeinspektor und ändern Sie das Tag für jede einzelne Zahlenschaltfläche. Das Tag sollte 1 mehr als der tatsächliche numerische Wert sein. Beispielsweise sollte die Schaltfläche #0 einen Tag-Wert von 1 haben, die Schaltfläche #1 sollte einen Tag-Wert von 2 haben, die Schaltfläche #2 sollte einen Tag-Wert von 3 haben und so weiter. Drücken Sie als Nächstes die Strg-Taste, klicken Sie auf die Schaltfläche #0 und ziehen Sie sie auf den Ansichtscontroller. Auf dem Bildschirm sollte ein Popup erscheinen. Ändern Sie die Verbindung in 'Aktion', den Typ in 'UIButton', das Ereignis in 'Innen berühren', die Argumente in 'Absender' und ihren Namen in 'Zahlen'. Sie können den Namen beliebig ändern, das bedeutet jedoch, dass Sie den Namen beim späteren Aufrufen der Funktion im Programm erneut ändern müssen. Als nächstes steuern, klicken und ziehen Sie jede Nummerntaste in die Funktion, die wir gerade erstellt haben. Steuern, klicken und ziehen Sie nun das Label in das Programm, aber NICHT in die Funktion. Das heißt, Sie bringen das Label einfach als separate Variable in die Funktion ein. Denken Sie daran, wenn Sie jemals über den Code verwirrt sind, habe ich meinen gesamten Code für Sie im letzten Schritt dieses Instructable hinterlassen.

Schritt 5: Variablen einrichten

Variablen einrichten
Variablen einrichten

Um unsere Zahlentasten funktionsfähig zu machen, müssen wir ihren Wert mit dem Etikett in unserer 'Zahlen'-Funktion verbinden. Sie können dies tun, indem Sie zuerst eine Variable 'numberOnScreen' erstellen und sie vom Typ double und gleich 0 machen: var numberOnScreen: Double = 0; Und vergessen Sie nicht, wenn der Code hier etwas unklar ist, habe ich Ihnen den vollständigen Code im letzten Schritt hinterlassen, damit Sie ihn nach Ihren Wünschen verwenden können. Erstellen Sie als Nächstes eine weitere Variable 'performingMath' vom Typ bool und machen Sie sie auf false: var PerformingMath = false; Erstellen Sie außerdem eine weitere Variable namens 'vorherigeNumber' vom Typ double und setzen Sie sie gleich 0: var previousNumber: Double = 0; Die letzte Variable, die Sie erstellen müssen, ist die Variable 'operation'. Gleich 0 setzen: var operation = 0;

Schritt 6: Funktion der Zifferntasten

Funktion der Zifferntasten
Funktion der Zifferntasten

Nachdem Sie die entsprechenden Variablen festgelegt haben, können Sie diesen Code kopieren und in Ihre 'Zahlen'-Funktion einfügen:

if PerformingMath == true {

label.text = String(sender.tag-1)

numberOnScreen = Double(label.text!)!

PerformingMath = false

}

anders {

label.text = label.text! + Zeichenfolge(sender.tag-1)

numberOnScreen = Double(label.text!)!

}

Im Wesentlichen zeigt dieser Code bestimmte Zahlen auf dem Etikett an, wenn die entsprechende Taste gedrückt wird. Wir müssen jedoch noch in der Lage sein, alle anderen Tasten zu verwenden und den Taschenrechner funktionsfähig zu machen. Dies werden wir in den nächsten Schritten tun.

Schritt 7: Bedientasten integrieren

Integrieren von Bedientasten
Integrieren von Bedientasten
Integrieren von Bedientasten
Integrieren von Bedientasten

Öffnen Sie den Attributeinspektor und ändern Sie das Tag für alle sonstigen Schaltflächen. Der Löschen-Button sollte ein Tag von 11 haben, der Divisions-Button sollte einen Tag von 12 haben, der Multiplikations-Button sollte einen Tag von 13 haben, der Subtraktions-Button sollte einen Tag von 14 haben, der Additions-Button sollte einen Tag von 15 haben, und die Gleiche-Schaltfläche sollte das Tag 16 haben. Drücken Sie als Nächstes die Strg-Taste, klicken Sie auf die Löschen-Schaltfläche und ziehen Sie sie auf den Ansichts-Controller. Auf dem Bildschirm sollte ein Popup erscheinen. Ändern Sie die Verbindung in 'Aktion', den Typ in 'UIButton', das Ereignis in 'Touch Up Inside', die Argumente in 'Sender' und den Namen in 'Buttons'. Sie können den Namen beliebig ändern, das bedeutet jedoch, dass Sie den Namen beim späteren Aufrufen der Funktion im Programm erneut ändern müssen. Als nächstes steuern, klicken und ziehen Sie jede verschiedene Schaltfläche in die Funktion, die wir gerade erstellt haben.

Schritt 8: Verschiedene Tastenfunktion

Verschiedene Tastenfunktion
Verschiedene Tastenfunktion

Nachdem Sie alle markierten Schaltflächen mit den entsprechenden Funktionen verbunden haben, können Sie damit beginnen, den Code in die Funktion 'Schaltflächen' einzufügen:

previousNumber = Double(label.text!)!

if sender.tag == 12 { //Divide

label.text = "/";

}

if sender.tag == 13 { //Multiplizieren

label.text = "x";

}

if sender.tag == 14 { //Subtrahieren

label.text = "-";

}

if sender.tag == 15 { //Hinzufügen

label.text = "+";

}

Operation = sender.tag

PerformingMath = true;

}

sonst wenn sender.tag == 16 {

wenn Operation == 12{ //Divide

label.text = String(vorherigeNumber / numberOnScreen)

}

Sonst wenn Operation == 13{//Multiplizieren

label.text = String(vorherigeNumber * numberOnScreen)

}

else if operation == 14{ //Subtrahieren

label.text = String(vorherigeNumber - numberOnScreen)

}

else if operation == 15{ //Add

label.text = String(vorherigeZahl + ZahlOnScreen)

}

}

sonst wenn sender.tag == 11{

label.text = ""

vorherigeNummer = 0;

ZahlOnScreen = 0;

Betrieb = 0;

}

Im Wesentlichen zeigt dieser Code eine der verschiedenen Schaltflächen an, wenn er gedrückt wird, und fährt mit der Berechnung der endgültigen Antwort fort und zeigt sie auf dem Etikett an.

Schritt 9: Vollständiger Code

Vollständiger Code
Vollständiger Code

Wenn Sie den Rechner nicht Schritt für Schritt mit mir durchgehen und bauen wollten, können Sie einfach die Elemente zu Ihrem Storyboard hinzufügen und den vollständigen Code kopieren und in Ihren Ansichtscontroller einfügen. Hier ist der Code:

UIKit importieren

Klasse ViewController: UIViewController {

var numberOnScreen: Double = 0;

var previousNumber: Double = 0;

var PerformingMath = false;

var-Operation = 0;

@IBAction-Funktionsnummern(_ Absender: UIButton) {

if PerformingMath == true {

label.text = String(sender.tag-1)

numberOnScreen = Double(label.text!)!

PerformingMath = false

}

anders {

label.text = label.text! + Zeichenfolge(sender.tag-1)

numberOnScreen = Double(label.text!)!

}

}

@IBOutlet schwaches Variablenlabel: UILabel!

@IBAction-Funktionsschaltflächen (_ Absender: UIButton) {

if label.text != "" && sender.tag != 11 && sender.tag != 16{

previousNumber = Double(label.text!)!

if sender.tag == 12 { //Divide

label.text = "/";

}

if sender.tag == 13 { //Multiplizieren

label.text = "x";

}

if sender.tag == 14 { //Subtrahieren

label.text = "-";

}

if sender.tag == 15 { //Hinzufügen

label.text = "+";

}

Operation = sender.tag

PerformingMath = true;

}

sonst wenn sender.tag == 16 {

wenn Operation == 12{ //Divide

label.text = String(vorherigeNumber / numberOnScreen)

}

Sonst wenn Operation == 13{//Multiplizieren

label.text = String(vorherigeNumber * numberOnScreen)

}

else if operation == 14{ //Subtrahieren

label.text = String(vorherigeNumber - numberOnScreen)

}

else if operation == 15{ //Add

label.text = String(vorherigeZahl + ZahlOnScreen)

}

}

sonst wenn sender.tag == 11{

label.text = ""

vorherigeNummer = 0;

ZahlOnScreen = 0;

Betrieb = 0;

}

}

überschreiben func viewDidLoad() {

super.viewDidLoad()

// Führen Sie nach dem Laden der Ansicht zusätzliche Einstellungen durch, normalerweise von einem Nib.

}

Funktion überschreiben didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Entsorgen Sie alle Ressourcen, die neu erstellt werden können.

}

}

Empfohlen: