Talaan ng mga Nilalaman:

Paano Gumawa ng isang Calculator sa Xcode Paggamit ng Swift: 9 Mga Hakbang
Paano Gumawa ng isang Calculator sa Xcode Paggamit ng Swift: 9 Mga Hakbang

Video: Paano Gumawa ng isang Calculator sa Xcode Paggamit ng Swift: 9 Mga Hakbang

Video: Paano Gumawa ng isang Calculator sa Xcode Paggamit ng Swift: 9 Mga Hakbang
Video: Swift Programming - If Statements (Lesson 12 of 14) 2024, Hunyo
Anonim
Image
Image

Sa mabilisang tutorial na ito, ipapakita ko sa iyo kung paano lumikha ng isang simpleng calculator gamit ang Swift in Xcode. Ang app na ito ay binuo upang magmukhang halos magkapareho sa orihinal na calculator app para sa iOS. Maaari mong sundin ang mga tagubilin nang sunud-sunod at buuin ang calculator sa akin, o maaari kang pumunta sa huling hakbang at kopyahin at i-paste ang code sa iyong view controller. Gayunpaman, kung gagawin mo ito, tiyaking ikonekta ang lahat ng iyong mga elemento sa storyboard sa iyong view controller.

Hakbang 1: Paglikha ng Proyekto

Layout ng Storyboard
Layout ng Storyboard

Ang unang hakbang sa paggawa ng aming calculator ay ang aktwal na paglikha ng proyekto sa Xcode. Magagawa mo ito sa pamamagitan ng pag-click sa "Lumikha ng isang bagong proyekto ng Xcode" at pangalanan ito kung ano ang nais mo. Pinangalanan ko ang aking "Calculator." Ang susunod na hakbang ay piliin ang "Single View Application" para sa uri ng app. Panatilihin ang lahat ng iba pang impormasyon bilang default na halaga.

Hakbang 2: Layout ng Storyboard

Ang Hakbang 2 ng paglikha ng aming calculator ay nangangailangan sa iyo upang magdisenyo ng isang pangunahing layout sa storyboard. Bago mo ito simulan, inirerekumenda kong palitan ang iyong aparato ng simulator sa iPhone 7 Plus. Magsimula sa pamamagitan ng pag-drag ng isang pindutan sa storyboard at baguhin ang mga sukat nito sa 89 x 89. Palitan ang kulay ng background nito sa mercury sa mga inspektor ng mga katangian at kulay ng font nito sa tungsten. Susunod, ayusin ang font sa Helvetica Light 30. Magpatuloy upang kopyahin at i-paste ang pindutan hanggang sa magkaroon ka ng isang kabuuang 20. Ayusin ang layout ng mga pindutan na ito upang mayroon kang limang mga hilera at apat na mga haligi.

Hakbang 3: Disenyo ng Storyboard at Aesthetics

Disenyo ng Storyboard at Aesthetics
Disenyo ng Storyboard at Aesthetics

Tanggalin ang pangalawang pindutan sa ibabang hilera at palawakin ang unang pindutan upang sakupin ang puwang na ito. Palitan ang halaga ng placeholder ng pindutan na ito sa zero. Magpatuloy na baguhin ang mga halaga ng numero at mga simbolo ng bawat pindutan hanggang sa halos magkapareho ito ng larawan na ipinakita sa itaas. Sa inspektor ng mga katangian, ang mas madidilim na kulay-abong kulay ay pilak, ang kulay kahel na tangerine, at ang kulay ng font ay binago sa niyebe sa mga orange na pindutan. Susunod, mag-click sa view controller at baguhin ang kulay ng background nito sa itim. Magdagdag ng isang label sa itaas ng mga pindutan at ayusin ang laki nito sa gayunpaman sa palagay mo komportable ka. Pantayin ang teksto sa kanan at baguhin ang font ng label sa Helvetica light 70. Kung nais mo, maaari kang magdagdag ng mga hadlang sa lahat ng mga elemento upang magawa ang hitsura ng app para sa lahat ng mga aparato.

Hakbang 4: Pagkonekta at Pagsasama ng Mga Elemento

Pagkonekta at Pagsasama ng Mga Elemento
Pagkonekta at Pagsasama ng Mga Elemento
Pagkonekta at Pagsasama ng Mga Elemento
Pagkonekta at Pagsasama ng Mga Elemento

Buksan ang inspektor ng mga katangian at baguhin ang tag para sa bawat solong pindutan ng numero. Ang tag ay dapat na 1 higit pa sa aktwal na halagang bilang. Halimbawa Susunod, pindutin ang kontrol, mag-click sa pindutang # 0, at i-drag ito sa view controller. Dapat lumitaw ang isang popup sa screen. Baguhin ang koneksyon sa 'aksyon,' ang uri sa 'UIButton,' ang kaganapan sa 'Touch Up Inside,' ang mga argumento sa 'Nagpadala,' at ang pangalan nito sa 'mga numero.' Maaari mong baguhin ang pangalan sa anumang nais mo ngunit nangangahulugan iyon na kailangan mong palitan muli ang pangalan kapag tinawag mo ang pagpapaandar sa paglaon sa programa. Susunod, kontrolin, i-click, at i-drag ang bawat pindutan ng numero sa pagpapaandar na nilikha lamang namin. Ngayon, kontrolin, i-click, at i-drag ang label sa programa, ngunit HINDI sa pagpapaandar. Nangangahulugan ito na dalhin mo lamang ang label sa pagpapaandar bilang isang hiwalay na variable. Tandaan, kung nalilito ka tungkol sa code, naiwan ko ang lahat ng aking code para magamit mo sa huling hakbang ng Instructable na ito.

Hakbang 5: Pagtaguyod ng Mga variable

Ang pagtaguyod ng mga variable
Ang pagtaguyod ng mga variable

Upang maandar ang aming mga pindutan ng numero, kakailanganin naming ikonekta ang kanilang halaga sa label sa pagpapaandar ng aming 'mga numero'. Maaari mo itong gawin sa pamamagitan ng paglikha muna ng isang variable na 'numberOnScreen' at gawin itong uri ng doble at katumbas ng 0: var numberOnScreen: Double = 0; At huwag kalimutan, kung ang code dito ay medyo hindi malinaw, iniwan ko sa iyo ang buong code sa huling hakbang para magamit mo ayon sa gusto mo. Susunod, magtaguyod ng isa pang variable na 'PerformMath' ng uri ng bool at gawin itong hindi totoo: var PerformMath = false; Gayundin, lumikha ng isa pang variable na tinatawag na 'nakaraangNumber' ng uri ng doble at itakda itong katumbas ng 0: var nakaraangNumber: Doble = 0; Ang huling variable na kailangan mong likhain ay ang variable na 'operasyon'. Itakda itong katumbas ng 0: var operation = 0;

Hakbang 6: Pag-andar ng Mga Pindutan ng Numero

Pag-andar ng Mga Pindutan ng Numero
Pag-andar ng Mga Pindutan ng Numero

Matapos mong maitaguyod ang mga naaangkop na variable, maaari kang magpatuloy upang kopyahin at i-paste ang code na ito sa iyong function na 'mga numero':

kung gumaganapMath == totoo {

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

numberOnScreen = Dobleng (label.text!)!

gumaganapMath = false

}

iba pa {

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

numberOnScreen = Dobleng (label.text!)!

}

Mahalaga, ang piraso ng code na ito ay nagpapakita ng ilang mga numero sa label kapag ang naaangkop na pindutan ay pinindot. Gayunpaman, kailangan pa rin naming magamit ang lahat ng iba pang mga pindutan at paganahin ang calculator. Gagawin namin ito sa susunod na mga hakbang.

Hakbang 7: Pagsasama ng Mga Pindutan sa Pagpapatakbo

Pagsasama ng Mga Pindutan sa Operasyon
Pagsasama ng Mga Pindutan sa Operasyon
Pagsasama ng Mga Pindutan sa Operasyon
Pagsasama ng Mga Pindutan sa Operasyon

Buksan ang inspektor ng mga katangian at baguhin ang tag para sa lahat ng mga magkakaibang pindutan. Ang malinaw na pindutan ay dapat magkaroon ng isang tag ng 11, ang pindutan ng paghahati ay dapat magkaroon ng isang tag ng 12, ang pindutan ng pagpaparami ay dapat magkaroon ng isang tag ng 13, ang pindutan ng pagbabawas ay dapat magkaroon ng isang tag ng 14, ang pindutan ng karagdagan ay dapat magkaroon ng isang tag ng 15, at ang pantay na pindutan ay dapat magkaroon ng isang tag ng 16. Susunod, pindutin ang kontrol, mag-click sa malinaw na pindutan, at i-drag ito sa view controller. Dapat lumitaw ang isang popup sa screen. Baguhin ang koneksyon sa 'aksyon,' ang uri sa 'UIButton,' ang kaganapan sa 'Touch Up Inside,' ang mga argumento sa 'Nagpadala,' at ang pangalan nito sa 'mga pindutan.' Maaari mong baguhin ang pangalan sa anumang nais mo ngunit nangangahulugan iyon na kailangan mong palitan muli ang pangalan kapag tinawag mo ang pagpapaandar sa paglaon sa programa. Susunod, kontrolin, i-click, at i-drag ang bawat magkakaibang pindutan sa pagpapaandar na nilikha lamang namin.

Hakbang 8: Iba't ibang Pag-andar ng Mga Pindutan

Miscellaneous Buttons Function
Miscellaneous Buttons Function

Matapos mong ikonekta ang lahat ng mga naka-tag na magkakaibang pindutan sa kanilang naaangkop na pagpapaandar, maaari mong simulang ipasok ang code sa pagpapaandar ng 'mga pindutan':

nakaraangNumber = Doble (label.text!)!

kung nagpadala.tag == 12 {// Hatiin

label.text = "/";

}

kung nagpadala.tag == 13 {// Multiply

label.text = "x";

}

kung nagpadala.tag == 14 {// Ibawas

label.text = "-";

}

kung nagpadala.tag == 15 {// Magdagdag

label.text = "+";

}

operasyon = nagpadala.tag

gumaganapMath = totoo;

}

kung hindi man kung nagpadala.tag == 16 {

kung operasyon == 12 {// Hatiin

label.text = String (nakaraangNumber / numberOnScreen)

}

kung hindi man kung pagpapatakbo == 13 {// Multiply

label.text = String (nakaraangNumber * numberOnScreen)

}

kung hindi man kung ang operasyon == 14 {// Ibawas

label.text = String (nakaraangNumber - numberOnScreen)

}

kung hindi man kung ang operasyon == 15 {// Magdagdag

label.text = String (nakaraangNumber + numberOnScreen)

}

}

kung hindi man kung nagpadala.tag == 11 {

label.text = ""

nakaraangNumber = 0;

numberOnScreen = 0;

operasyon = 0;

}

Mahalaga, ang piraso ng code na ito ay nagpapakita ng isa sa mga iba't ibang mga pindutan kapag ito ay pinindot at nagpapatuloy upang makalkula ang pangwakas na sagot at ipinapakita ito sa tatak.

Hakbang 9: Buong Code

Buong Code
Buong Code

Kung hindi mo nais na dumaan at buuin ang calculator nang sunud-sunod sa akin, maaari mo lamang idagdag ang mga elemento sa iyong storyboard at kopyahin at i-paste ang buong code sa iyong view controller. Narito ang code:

i-import ang UIKit

klase ViewController: UIViewController {

var numberOnScreen: Doble = 0;

var nakaraangNumber: Doble = 0;

var PerformMath = false;

operasyon ng var = 0;

@IBAction func number (_ nagpadala: UIButton) {

kung gumaganapMath == totoo {

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

numberOnScreen = Dobleng (label.text!)!

gumaganapMath = false

}

iba pa {

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

numberOnScreen = Dobleng (label.text!)!

}

}

@IBOutlet mahinang var label: UILabel!

Mga pindutan ng @IBAction func (_ nagpadala: UIButton) {

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

nakaraangNumber = Doble (label.text!)!

kung nagpadala.tag == 12 {// Hatiin

label.text = "/";

}

kung nagpadala.tag == 13 {// Multiply

label.text = "x";

}

kung nagpadala.tag == 14 {// Ibawas

label.text = "-";

}

kung nagpadala.tag == 15 {// Magdagdag

label.text = "+";

}

operasyon = nagpadala.tag

gumaganapMath = totoo;

}

kung hindi man kung nagpadala.tag == 16 {

kung operasyon == 12 {// Hatiin

label.text = String (nakaraangNumber / numberOnScreen)

}

kung hindi man kung pagpapatakbo == 13 {// Multiply

label.text = String (nakaraangNumber * numberOnScreen)

}

kung hindi man kung ang operasyon == 14 {// Ibawas

label.text = String (nakaraangNumber - numberOnScreen)

}

kung hindi man kung ang operasyon == 15 {// Magdagdag

label.text = String (nakaraangNumber + numberOnScreen)

}

}

kung hindi man kung nagpadala.tag == 11 {

label.text = ""

nakaraangNumber = 0;

numberOnScreen = 0;

operasyon = 0;

}

}

i-override ang func viewDidLoad () {

super.viewDidLoad ()

// Gumawa ng anumang karagdagang pag-set up pagkatapos mai-load ang view, karaniwang mula sa isang nib.

}

override func didReceiveMemoryWarning () {

super.didReceiveMemoryWarning ()

// Itapon ang anumang mga mapagkukunan na maaaring muling likhain.

}

}

Inirerekumendang: