INHOUDSOPGAWE:

Hoe om 'n sakrekenaar in Xcode te maak met behulp van Swift: 9 stappe
Hoe om 'n sakrekenaar in Xcode te maak met behulp van Swift: 9 stappe

Video: Hoe om 'n sakrekenaar in Xcode te maak met behulp van Swift: 9 stappe

Video: Hoe om 'n sakrekenaar in Xcode te maak met behulp van Swift: 9 stappe
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, November
Anonim
Image
Image

In hierdie vinnige handleiding sal ek u wys hoe u 'n eenvoudige sakrekenaar met Swift in Xcode kan skep. Hierdie app is gebou om amper identies te lyk aan die oorspronklike sakrekenaarprogram vir iOS. U kan die aanwysings stap-vir-stap volg en die sakrekenaar saam met my bou, of u kan eenvoudig na die laaste stap gaan en die kode in u view-kontroleerder plak en plak. As u dit egter doen, moet u al u elemente op die verhaalbord met u aansigbeheerder verbind.

Stap 1: Skep die projek

Uitleg van storiebord
Uitleg van storiebord

Die eerste stap om ons sakrekenaar te maak, is om die projek eintlik in Xcode te skep. U kan dit doen deur op 'Skep 'n nuwe Xcode -projek' te klik en dit te noem wat u wil. Ek het myne 'Sakrekenaar' genoem. Die volgende stap is om 'Single View Application' vir die tipe app te kies. Hou alle ander inligting as die standaardwaarde.

Stap 2: Uitleg van storiebord

Stap 2 van die skep van ons sakrekenaar vereis dat u 'n basiese uitleg in die storiebord ontwerp. Voordat u hiermee begin, beveel ek aan dat u u simulator -toestel na die iPhone 7 Plus verander. Begin deur 'n knoppie na die storiebord te sleep en die afmetings daarvan na 89 x 89 te verander. Verander die agtergrondkleur in kwik op die attribute -inspekteur en die lettertipe kleur daarvan in wolfram. Pas dan die lettertipe aan by Helvetica Light 30. Gaan voort om die knoppie te kopieer en te plak totdat u 'n totaal van 20. Pas die uitleg van hierdie knoppies aan sodat u vyf rye en vier kolomme het.

Stap 3: Ontwerpbord en estetika van storiebord

Verhaalbordontwerp en estetika
Verhaalbordontwerp en estetika

Vee die tweede knoppie in die onderste ry uit en brei die eerste knoppie uit om hierdie spasie oor te neem. Verander die plekhouerwaarde van hierdie knoppie in nul. Gaan voort om die getalwaardes en simbole van elke knoppie te verander totdat dit byna dieselfde is as die prent hierbo. By die funksie -inspekteur is die donkerder grys kleur silwer, die oranje kleur mandarijn en die lettertipe kleur word verander na sneeu op die oranje knoppies. Klik vervolgens op die aansigbeheerder en verander die agtergrondkleur na swart. Voeg 'n etiket bo die knoppies by en pas die grootte aan volgens u gemak. Rig die teks regs in en verander die lettertipe van die etiket na Helvetica light 70. As u wil, kan u beperkings by al die elemente voeg om die app vir alle toestelle dieselfde te laat lyk.

Stap 4: Verbind en integreer elemente

Koppel en integreer elemente
Koppel en integreer elemente
Koppel en integreer elemente
Koppel en integreer elemente

Maak die kenmerkinspekteur oop en verander die etiket vir elke getalknoppie. Die merker moet 1 meer wees as die werklike numeriese waarde. Byvoorbeeld, die #0 -knoppie moet 'n tagwaarde van 1 hê, die #1 -knoppie moet 'n tagwaarde van 2 hê, die #2 -knoppie moet 'n tagwaarde van 3 hê, ensovoorts. Druk dan op beheer, klik op die #0 -knoppie en sleep dit na die aansigbeheerder. 'N Opspring moet op die skerm verskyn. Verander die verbinding na 'aksie', die tipe na 'UIButton', die gebeurtenis na 'Touch Up Inside', die argumente na 'Sender' en die naam in 'getalle'. U kan die naam verander na wat u wil, maar dit beteken dat u die naam weer moet verander wanneer u die funksie later in die program bel. Beheer, klik en sleep dan elke getalleknoppie na die funksie wat ons pas geskep het. Beheer, klik en sleep die etiket na die program, maar NIE na die funksie nie. Dit beteken dat u die etiket eenvoudig as 'n aparte veranderlike in die funksie bring. Onthou, as u ooit verward is oor die kode, het ek al my kode gelaat om op die laaste stap van hierdie instruksies te gebruik.

Stap 5: Vestiging van veranderlikes

Vestiging van veranderlikes
Vestiging van veranderlikes

Om ons getalknoppies funksioneel te maak, moet ons die waarde daarvan koppel aan die etiket in ons 'getalle' -funksie. U kan dit doen deur eers 'n veranderlike 'numberOnScreen' te skep en dit van tipe dubbel te maak en gelyk aan 0: var numberOnScreen: Double = 0; En moenie vergeet nie: as die kode hier 'n bietjie onduidelik is, het ek die volledige kode op die laaste stap aan u oorgelaat om dit na u smaak te gebruik. Stel dan 'n ander veranderlike 'performingMath' van die tipe bool in en maak dit onwaar: var performingMath = false; Skep ook 'n ander veranderlike genaamd 'previousNumber' van tipe double en stel dit gelyk aan 0: var previousNumber: Double = 0; Die laaste veranderlike wat u moet skep, is die 'operasie' -veranderlike. Stel dit gelyk aan 0: var operasie = 0;

Stap 6: Funksie getalknoppies

Getalknoppies Funksie
Getalknoppies Funksie

Nadat u die toepaslike veranderlikes vasgestel het, kan u voortgaan met die kopiëring en plak van hierdie kode in u 'getalle' -funksie:

as performingMath == waar {

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

numberOnScreen = Dubbel (etiket.teks!)!

performingMath = vals

}

anders {

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

numberOnScreen = Dubbel (etiket.teks!)!

}

In wese vertoon hierdie stuk kode sekere nommers op die etiket as u op die toepaslike knoppie druk. Ons moet egter nog al die ander knoppies kan gebruik en die sakrekenaar funksioneel kan maak. Ons sal dit in die volgende paar stappe doen.

Stap 7: Integrasie van bedieningsknoppies

Bedieningsknoppies geïntegreer
Bedieningsknoppies geïntegreer
Bedieningsknoppies geïntegreer
Bedieningsknoppies geïntegreer

Maak die inspekteur vir kenmerke oop en verander die etiket vir alle verskillende knoppies. Die duidelike knoppie moet 'n etiket van 11 hê, die verdelingsknoppie moet 'n etiket van 12 hê, die vermenigvuldigingsknoppie moet 'n etiket van 13 hê, die aftrekkingsknoppie moet 'n etiket van 14 hê, die byvoegingsknoppie moet 'n etiket van 15 hê, en die gelyke knoppie moet 'n etiket hê van 16. Druk dan op beheer, klik op die deursigtige knoppie en sleep dit na die aansigbeheerder. 'N Opspring moet op die skerm verskyn. Verander die verbinding na 'aksie', die tipe na 'UIButton', die gebeurtenis na 'Touch Up Inside', die argumente na 'Sender' en die naam in 'knoppies'. U kan die naam verander na wat u wil, maar dit beteken dat u die naam weer moet verander wanneer u die funksie later in die program bel. Beheer, klik en sleep dan elke diverse knoppie na die funksie wat ons pas geskep het.

Stap 8: Diverse knoppies funksie

Diverse knoppies funksie
Diverse knoppies funksie

Nadat u al die gemerkte knoppies met die gepaste funksie gekoppel het, kan u die kode in die 'knoppies' -funksie begin plaas:

previousNumber = Dubbel (etiket.teks!)!

as sender.tag == 12 {// Verdeel

label.text = "/";

}

as sender.tag == 13 {// Vermenigvuldig

label.text = "x";

}

if sender.tag == 14 {// Trek af

label.text = "-";

}

as sender.tag == 15 {// Voeg by

label.text = "+";

}

operasie = sender.tag

performingMath = waar;

}

anders as sender.tag == 16 {

as operasie == 12 {// Verdeel

label.text = String (previousNumber / numberOnScreen)

}

anders as bewerking == 13 {// Vermenigvuldig

label.text = String (previousNumber * numberOnScreen)

}

anders as bewerking == 14 {// Trek af

label.text = String (previousNumber - numberOnScreen)

}

anders as bewerking == 15 {// Voeg by

label.text = String (previousNumber + numberOnScreen)

}

}

anders as sender.tag == 11 {

label.text = ""

vorige nommer = 0;

numberOnScreen = 0;

operasie = 0;

}

In wese vertoon hierdie stuk kode een van die verskillende knoppies wanneer dit ingedruk word en gaan voort om die finale antwoord te bereken en vertoon dit op die etiket.

Stap 9: Volledige kode

Volle kode
Volle kode

As u nie saam met my die sakrekenaar wou stap nie, kan u die elemente eenvoudig by u storiebord voeg en die volledige kode in u view -kontroleerder plak en plak. Hier is die kode:

voer UIKit in

klas ViewController: UIViewController {

var numberOnScreen: Double = 0;

var vorige nommer: dubbel = 0;

var performingMath = false;

var operasie = 0;

@IBAction func -nommers (_ sender: UIButton) {

as performingMath == waar {

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

numberOnScreen = Dubbel (etiket.teks!)!

performingMath = vals

}

anders {

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

numberOnScreen = Dubbel (etiket.teks!)!

}

}

@IBOutlet swak var etiket: UILabel!

@IBAction func -knoppies (_ sender: UIButton) {

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

previousNumber = Dubbel (etiket.teks!)!

as sender.tag == 12 {// Verdeel

label.text = "/";

}

as sender.tag == 13 {// Vermenigvuldig

label.text = "x";

}

if sender.tag == 14 {// Trek af

label.text = "-";

}

as sender.tag == 15 {// Voeg by

label.text = "+";

}

operasie = sender.tag

performingMath = waar;

}

anders as sender.tag == 16 {

as operasie == 12 {// Verdeel

label.text = String (previousNumber / numberOnScreen)

}

anders as bewerking == 13 {// Vermenigvuldig

label.text = String (previousNumber * numberOnScreen)

}

anders as bewerking == 14 {// Trek af

label.text = String (previousNumber - numberOnScreen)

}

anders as bewerking == 15 {// Voeg by

label.text = String (previousNumber + numberOnScreen)

}

}

anders as sender.tag == 11 {

label.text = ""

vorige nommer = 0;

numberOnScreen = 0;

operasie = 0;

}

}

ignoreer func viewDidLoad () {

super.viewDidLoad ()

// Doen enige ekstra opstelling nadat u die aansig gelaai het, gewoonlik vanaf 'n penpunt.

}

ignoreer func didReceiveMemoryWarning () {

super.didReceiveMemoryWarning ()

// Raak ontslae van die beskikbare hulpbronne.

}

}

Aanbeveel: