Mundarija:

Swift yordamida Xcode -da kalkulyatorni qanday qilish kerak: 9 qadam
Swift yordamida Xcode -da kalkulyatorni qanday qilish kerak: 9 qadam

Video: Swift yordamida Xcode -da kalkulyatorni qanday qilish kerak: 9 qadam

Video: Swift yordamida Xcode -da kalkulyatorni qanday qilish kerak: 9 qadam
Video: Amazing Image Slider||HTML||CSS||FRONTEND DEVELOPER 2024, Sentyabr
Anonim
Image
Image

Ushbu tezkor qo'llanmada men sizga Xcode -da Swift -dan foydalanib oddiy kalkulyatorni qanday yaratishni ko'rsataman. Bu ilova iOS uchun asl kalkulyator ilovasi bilan deyarli bir xil ko'rinishi uchun yaratilgan. Siz yo'riqnomalarni bosqichma-bosqich bajarishingiz va men bilan kalkulyatorni qurishingiz mumkin, yoki siz oxirgi bosqichga o'tishingiz va kodni ko'rish nazoratchisiga nusxalashingiz va joylashtirishingiz mumkin. Ammo, agar siz shunday qilsangiz, hikoyalar panelidagi barcha elementlaringizni ko'rishni boshqaruvchi bilan ulashga ishonch hosil qiling.

1 -qadam: Loyihani yaratish

Storyboard tartibi
Storyboard tartibi

Bizning kalkulyatorimizni yaratishda birinchi qadam, loyihani Xcode -da yaratishdir. Siz buni "Yangi Xcode loyihasini yaratish" tugmachasini bosish va xohlaganingizga nom berish orqali qilishingiz mumkin. Men o'zimni "Kalkulyator" deb nomladim. Keyingi qadam, ilova turi uchun "Yagona ko'rinish ilovasi" ni tanlashdir. Boshqa barcha ma'lumotlarni standart qiymat sifatida saqlang.

2 -qadam: hikoyalar taxtasi tartibi

Kalkulyatorni yaratishning 2 -bosqichi sizdan hikoyalar taxtasida asosiy tartibni tuzishni talab qiladi. Buni boshlashdan oldin, men simulyator qurilmasini iPhone 7 Plus -ga o'zgartirishni maslahat beraman. Tugmachani hikoya taxtasiga suring va uning o'lchamlarini 89 x 89 ga o'zgartiring. Xususiyatlar inspektorining fon rangini simobga, shrift rangini esa volframga o'zgartiring. Keyin shriftni Helvetica Light 30 ga moslang. Hammasi bo'lib 20 ta bo'lguncha tugmachani nusxalash va joylashtirishni davom ettiring. Bu tugmalar tartibini beshta qator va to'rtta ustun bo'lishi uchun sozlang.

3 -qadam: Storyboard dizayni va estetika

Storyboard dizayni va estetika
Storyboard dizayni va estetika

Pastki qatordagi ikkinchi tugmani o'chirib tashlang va bu joyni egallash uchun birinchi tugmani kengaytiring. Ushbu tugmachaning qiymatini nolga o'zgartiring. Har bir tugmachaning raqamlari va belgilarini yuqorida ko'rsatilgan rasm bilan deyarli bir xil bo'lmaguncha o'zgartirishni davom eting. Xususiyatlar inspektori bo'yicha quyuq kulrang rang kumush, to'q sariq rang mandarin va shrift rangi to'q to'q sariq tugmachalarda qorga o'zgargan. Keyin ko'rish nazoratini bosing va uning fon rangini qora rangga o'zgartiring. Tugmalar tepasiga yorliq qo'shing va o'zingizni xohlaganingizcha o'lchamini o'zgartiring. Matnni o'ng tomonga tekislang va yorliq shriftini Helvetica light 70 ga o'zgartiring. Agar xohlasangiz, ilovani barcha qurilmalar uchun bir xil ko'rinishi uchun siz barcha elementlarga cheklovlar qo'shishingiz mumkin.

4 -qadam: elementlarni ulash va birlashtirish

Elementlarni ulash va birlashtirish
Elementlarni ulash va birlashtirish
Elementlarni ulash va birlashtirish
Elementlarni ulash va birlashtirish

Atributlar inspektorini oching va har bir raqam tugmasi uchun tegni o'zgartiring. Teg haqiqiy raqamli qiymatdan 1 taga ko'p bo'lishi kerak. Masalan, #0 tugmachasi 1 taglik qiymatiga, #1 tugma 2 taglik belgiga, #2 tugma 3 teg qiymatiga va boshqalarga ega bo'lishi kerak. Keyin, boshqaruv tugmachasini bosing, #0 tugmachasini bosing va uni ko'rish boshqaruvchisiga torting. Ekranda popup paydo bo'lishi kerak. Ulanishni "harakat" ga, turini "UIButton" ga, hodisani "Touch Up Inside" ga, argumentlarni "Yuboruvchi" ga va uning nomini "raqamlarga" o'zgartiring. Siz ismni xohlagan narsangizga o'zgartirishingiz mumkin, lekin bu keyinchalik dasturda funktsiyani chaqirganda ismni qayta o'zgartirishingiz kerakligini anglatadi. Keyin, har bir raqam tugmachasini boshqaring, bosing va biz yaratgan funktsiyaga torting. Endi belgini boshqaring, bosing va dasturga torting, lekin funktsiyaga EMAS. Bu shuni anglatadiki, siz belgini funktsiyaga alohida o'zgaruvchi sifatida kiritasiz. Yodingizda bo'lsin, agar siz kod haqida chalkashib ketgan bo'lsangiz, men ushbu ko'rsatmaning oxirgi bosqichida foydalanish uchun barcha kodimni qoldirganman.

5 -qadam: O'zgaruvchilarni o'rnatish

O'zgaruvchilarni o'rnatish
O'zgaruvchilarni o'rnatish

Raqamli tugmalarimiz funktsional bo'lishi uchun biz ularning qiymatini "raqamlar" funktsiyasidagi belgiga ulashimiz kerak bo'ladi. Buni avval 'numberOnScreen' o'zgarmaydiganini yaratib, uni ikki xil va 0 ga teng qilib qo'yish mumkin: var numberOnScreen: Double = 0; Shuni unutmangki, agar bu erda kod biroz tushunarsiz bo'lsa, men sizga o'z xohishingizga ko'ra ishlatishingiz uchun oxirgi qadamda to'liq kodni qoldirganman. Keyin bool turidagi boshqa '' PerformMath '' o'zgaruvchisini o'rnating va uni noto'g'ri qiling: var PerformingMath = false; Bundan tashqari, double formatidagi 'previousNumber' nomli boshqa o'zgaruvchini yarating va uni 0 ga teng qilib o'rnating: var previousNumber: Double = 0; Siz yaratishingiz kerak bo'lgan oxirgi o'zgaruvchi "operatsiya" o'zgaruvchisidir. Uni 0 ga teng qilib o'rnating: var operation = 0;

6 -qadam: raqamlar tugmachalari funktsiyasi

Raqamli tugmalar funktsiyasi
Raqamli tugmalar funktsiyasi

Tegishli o'zgaruvchilarni o'rnatganingizdan so'ng, ushbu kodni "raqamlar" funktsiyasiga nusxalash va joylashtirishga o'tishingiz mumkin:

if performMath == true {

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

numberOnScreen = Ikki marta (label.text!)!

performMath = noto'g'ri

}

boshqa {

label.text = label.text! + String (jo'natuvchi.tag-1)

numberOnScreen = Ikki marta (label.text!)!

}

Asosan, ushbu kod qismi tegishli tugma bosilganda yorliqda ma'lum raqamlarni ko'rsatadi. Biroq, biz hali ham boshqa barcha tugmalardan foydalanishimiz va kalkulyatorni funktsional qilishimiz kerak. Biz buni keyingi ikki bosqichda qilamiz.

7 -qadam: Operatsion tugmalarini birlashtirish

Amaliyot tugmachalarini birlashtirish
Amaliyot tugmachalarini birlashtirish
Amaliyot tugmachalarini birlashtirish
Amaliyot tugmachalarini birlashtirish

Atributlar inspektorini oching va barcha tugmalar yorlig'ini o'zgartiring. Aniq tugmachada 11 tagli, bo'linish tugmachasida 12 tagacha, ko'paytirish tugmachasida 13 tagli, ayirish tugmachasida 14 tagli, qo'shish tugmachasida 15 tegli, va teng tugmachada 16 yorlig'i bo'lishi kerak. Keyin, boshqaruvni bosing, tozalash tugmasini bosing va uni ko'rish boshqaruvchisiga torting. Ekranda popup paydo bo'lishi kerak. Ulanishni "harakat" ga, turini "UIButton" ga, hodisani "Touch Up Inside" ga, argumentlarni "Yuboruvchi" ga va uning nomini "tugmalar" ga o'zgartiring. Siz ismni xohlagan narsangizga o'zgartirishingiz mumkin, lekin bu keyinchalik dasturda funktsiyani chaqirganda ismni qayta o'zgartirishingiz kerakligini anglatadi. Keyin, biz yaratgan har bir tugmani boshqaring, bosing va tortib o'tkazing.

8 -qadam: Har xil tugmalar funktsiyasi

Har xil tugmalar funktsiyasi
Har xil tugmalar funktsiyasi

Belgilangan barcha tugmachalarni tegishli funktsiyaga ulab bo'lgach, siz kodni 'tugmalar' funktsiyasiga kiritishni boshlashingiz mumkin:

oldingiNumber = Ikki marta (label.text!)!

agar sender.tag == 12 {// Bo'ling

label.text = "/";

}

agar sender.tag == 13 {// Ko'paytirish

label.text = "x";

}

agar sender.tag == 14 {// ayirish

label.text = "-";

}

agar sender.tag == 15 {// Qo'shish

label.text = "+";

}

operatsiya = sender.tag

performMath = rost;

}

aks holda sender.tag == 16 {

agar operatsiya == 12 {// Bo'ling

label.text = String (oldingiNumber / numberOnScreen)

}

aks holda operatsiya == 13 {// Ko'paytirish

label.text = String (oldingiNumber * numberOnScreen)

}

aks holda operatsiya == 14 {// Chiqaring

label.text = String (oldingiNumber - numberOnScreen)

}

aks holda operatsiya == 15 {// Qo'shish

label.text = String (oldingiNumber + numberOnScreen)

}

}

aks holda sender.tag == 11 {

label.text = ""

oldingiNumber = 0;

numberOnScreen = 0;

operatsiya = 0;

}

Asosan, bu kod bo'lagi bosilganda har xil tugmachalardan birini ko'rsatadi va yakuniy javobni hisoblab chiqadi va uni yorliqda ko'rsatadi.

9 -qadam: To'liq kod

To'liq kod
To'liq kod

Agar siz men bilan kalkulyatorni bosqichma -bosqich o'tishni xohlamasangiz, elementlarni hikoya taxtangizga qo'shib, to'liq kodni ko'rish nazoratchisiga nusxalash va joylashtirishingiz mumkin. Mana kod:

UIKit import qilish

ViewController klassi: UIViewController {

var numberOnScreen: Double = 0;

var previousNumber: Double = 0;

var PerformingMath = noto'g'ri;

var operatsiyasi = 0;

@IBAction func raqamlari (_ jo'natuvchi: UIButton) {

if performMath == true {

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

numberOnScreen = Ikki marta (label.text!)!

performMath = noto'g'ri

}

boshqa {

label.text = label.text! + String (jo'natuvchi.tag-1)

numberOnScreen = Ikki marta (label.text!)!

}

}

@IBOutlet zaif var yorlig'i: UILabel!

@IBAction funktsiyali tugmalar (_ jo'natuvchi: UIButton) {

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

oldingiNumber = Ikki marta (label.text!)!

agar sender.tag == 12 {// Bo'ling

label.text = "/";

}

agar sender.tag == 13 {// Ko'paytirish

label.text = "x";

}

agar sender.tag == 14 {// ayirish

label.text = "-";

}

agar sender.tag == 15 {// Qo'shish

label.text = "+";

}

operatsiya = sender.tag

performMath = rost;

}

aks holda sender.tag == 16 {

agar operatsiya == 12 {// Bo'ling

label.text = String (oldingiNumber / numberOnScreen)

}

aks holda operatsiya == 13 {// Ko'paytirish

label.text = String (oldingiNumber * numberOnScreen)

}

aks holda operatsiya == 14 {// Chiqaring

label.text = String (oldingiNumber - numberOnScreen)

}

aks holda operatsiya == 15 {// Qo'shish

label.text = String (oldingiNumber + numberOnScreen)

}

}

aks holda sender.tag == 11 {

label.text = ""

oldingiNumber = 0;

numberOnScreen = 0;

operatsiya = 0;

}

}

func viewDidLoad () {ni bekor qilish

super.viewDidLoad ()

// Ko'rinishni yuklaganingizdan so'ng, odatda, nibdan qo'shimcha sozlashni bajaring.

}

funktsiyani bekor qilish didReceiveMemoryWarning () {

super.didReceiveMemoryWarning ()

// Qayta tiklanishi mumkin bo'lgan resurslarni yo'q qiling.

}

}

Tavsiya: