Mündəricat:

Swift istifadə edərək Xcode -da Kalkulyator necə etmək olar: 9 addım
Swift istifadə edərək Xcode -da Kalkulyator necə etmək olar: 9 addım

Video: Swift istifadə edərək Xcode -da Kalkulyator necə etmək olar: 9 addım

Video: Swift istifadə edərək Xcode -da Kalkulyator necə etmək olar: 9 addım
Video: How to Fetch Latest Heart Rate using HealthKit Framework | iOS | Swift | Apple Watch 2024, Noyabr
Anonim
Image
Image

Bu sürətli dərsdə, Xcode -da Swift istifadə edərək sadə bir kalkulyatorun necə yaradılacağını sizə göstərəcəyəm. Bu tətbiq, iOS üçün orijinal kalkulyator tətbiqi ilə demək olar ki, eyni görünmək üçün hazırlanmışdır. İstiqamətləri addım-addım izləyə və kalkulyatoru mənimlə birlikdə qura bilərsiniz və ya sadəcə son addıma gedib kodu yoxlayaraq görüntü nəzarətçinizə yapışdıra bilərsiniz. Ancaq bunu etsəniz, hekayə lövhəsindəki bütün elementlərinizi görüntü nəzarətçinizlə bağladığınızdan əmin olun.

Addım 1: Layihənin yaradılması

Storyboard Layout
Storyboard Layout

Kalkulyatorumuzu yaratmağın ilk addımı, əslində layihəni Xcode'da yaratmaqdır. Bunu "Yeni bir Xcode layihəsi yaradın" düyməsini basaraq və istədiyiniz kimi adlandıraraq edə bilərsiniz. Özümə "Kalkulyator" adını verdim. Növbəti addım, tətbiq növü üçün "Tək Görünüş Tətbiqi" ni seçməkdir. Bütün digər məlumatları standart dəyər olaraq saxlayın.

Addım 2: Storyboard Layout

Kalkulyatorumuzu yaratmağın 2 -ci addımı, hekayə lövhəsində əsas bir tərtibat tərtib etməyinizi tələb edir. Buna başlamazdan əvvəl simulyator cihazınızı iPhone 7 Plus -a dəyişməyi məsləhət görürəm. Hekayə lövhəsinə bir düyməni sürükləyərək və ölçülərini 89 x 89 olaraq dəyişdirərək başlayın. Atributlar müfəttişinin fon rəngini civə, şrift rəngini isə volfram olaraq dəyişdirin. Sonra, fontu Helvetica Light 30 olaraq tənzimləyin. Cəmi 20 olana qədər düyməni kopyalayıb yapışdırmağa davam edin. Beş satır və dörd sütuna sahib olmaq üçün bu düymələrin nizamını tənzimləyin.

Addım 3: Storyboard Dizaynı və Estetikası

Storyboard Dizaynı və Estetika
Storyboard Dizaynı və Estetika

Alt sətirdə ikinci düyməni silin və bu yeri tutmaq üçün birinci düyməni genişləndirin. Bu düymənin yer tutucu dəyərini sıfıra dəyişin. Yuxarıda göstərilən şəkil praktik olaraq eyni olana qədər hər bir düymənin ədəd dəyərlərini və simvollarını dəyişməyə davam edin. Atributlar müfəttişində, tünd boz rəng gümüşü, narıncı rəng naringi və şrift rəngi narıncı düymələrdə qarla dəyişdirilir. Sonra, görünüş nəzarətçisini vurun və fon rəngini qara rəngə dəyişdirin. Düymələrin üstünə bir etiket əlavə edin və ölçüsünü özünüzü rahat hiss etməyinizə görə tənzimləyin. Mətni sağa hizalayın və etiketin şriftini Helvetica light 70 olaraq dəyişdirin. İstəsəniz, tətbiqin bütün cihazlar üçün eyni görünməsini təmin etmək üçün bütün elementlərə məhdudiyyətlər əlavə edə bilərsiniz.

Addım 4: Elementləri birləşdirmək və birləşdirmək

Elementləri birləşdirmək və birləşdirmək
Elementləri birləşdirmək və birləşdirmək
Elementləri birləşdirmək və birləşdirmək
Elementləri birləşdirmək və birləşdirmək

Xüsusiyyətlər müfəttişini açın və hər bir nömrə düyməsini etiketini dəyişdirin. Etiket həqiqi ədədi dəyərdən 1 daha çox olmalıdır. Məsələn, #0 düyməsinin etiket dəyəri 1, #1 düyməsinin etiket dəyəri 2, #2 düyməsinin etiket dəyəri 3 və s. Sonra, nəzarət düyməsini basın, #0 düyməsini basın və görünüş nəzarətçisinə sürükleyin. Ekranda bir popup görünməlidir. Bağlantıyı 'hərəkətə', növünü 'UIButton' a, hadisəni 'İçəriyə Toxun' olaraq, arqumentləri 'Göndərənə' və adını 'ədədlərə' dəyişdirin. Adı istədiyiniz kimi dəyişə bilərsiniz, amma bu, proqramın sonrakı funksiyasını çağırarkən adı yenidən dəyişdirməli olacağınız deməkdir. Sonra nəzarət edin, vurun və hər bir rəqəm düyməsini yeni yaratdığımız funksiyaya sürükləyin. İndi etiketi idarə edin, vurun və sürükləyin, ancaq funksiyaya deyil. Bu o deməkdir ki, etiketi ayrı bir dəyişən olaraq funksiyaya daxil etməlisiniz. Unutmayın, əgər kod haqqında heç bir fikiriniz yoxdursa, bu Təlimatın son addımında istifadə etməyiniz üçün bütün kodumu buraxmışam.

Addım 5: Dəyişənlərin qurulması

Dəyişənlərin qurulması
Dəyişənlərin qurulması

Sayı düymələrimizi işlək hala gətirmək üçün onların dəyərlərini 'ədədlər' funksiyamızdakı etiketə bağlamalı olacağıq. Bunu əvvəlcə 'numberOnScreen' dəyişənini yaratmaqla və onu ikiqat və 0 -a bərabər etməklə edə bilərsiniz: var numberOnScreen: Double = 0; Unutmayın ki, buradakı kod bir az aydın deyilsə, zövqünüzə uyğun istifadə etməyiniz üçün son addımı sizə yazdım. Sonra, bool tipli başqa bir 'PerformanceMath' dəyişənini qurun və onu yalana çevirin: var PerformanceMath = false; Ayrıca, double tipli 'previousNumber' adlı başqa bir dəyişən yaradın və onu 0 -a bərabər edin: var previousNumber: Double = 0; Yaratmalı olduğunuz son dəyişən 'əməliyyat' dəyişicisidir. 0 -a bərabər olaraq təyin edin: var əməliyyat = 0;

Addım 6: Nömrə Düymələri Fonksiyonu

Sayı Düymələri Fonksiyonu
Sayı Düymələri Fonksiyonu

Müvafiq dəyişənləri təyin etdikdən sonra bu kodu kopyalayıb "nömrələr" funksiyanıza yapışdırmağa davam edə bilərsiniz:

if PerformMath == doğru {

label.text = String (göndərən.tag-1)

numberOnScreen = Cüt (label.text!)!

PerformingMath = yanlış

}

başqa {

label.text = etiket.text! + String (göndərən.tag-1)

numberOnScreen = Cüt (label.text!)!

}

Əslində, bu kod parçası, müvafiq düyməyə basıldığında etiketdə müəyyən nömrələri göstərir. Ancaq yenə də bütün digər düymələrdən istifadə etməyi və kalkulyatoru işlək hala gətirməyi bacarmalıyıq. Növbəti bir neçə addımda bunu edəcəyik.

Addım 7: Əməliyyat Düymələrinin İnteqrasiyası

Əməliyyat düymələrini birləşdirmək
Əməliyyat düymələrini birləşdirmək
Əməliyyat düymələrini birləşdirmək
Əməliyyat düymələrini birləşdirmək

Xüsusiyyətlər müfəttişini açın və bütün digər düymələr üçün etiketi dəyişdirin. Təmiz düymədə 11 etiket, bölmə düyməsinə 12 etiket, vurma düyməsinə 13 etiket, toplama düyməsinə 14 etiket, əlavə düyməsinə 15 etiket, və bərabər düymədə 16 işarəsi olmalıdır. Sonra nəzarət düyməsini basın, sil düyməsini basın və görünüş nəzarətçisinə sürükləyin. Ekranda bir popup görünməlidir. Bağlantıyı 'hərəkətə', növünü 'UIButton' a, hadisəni 'İçəriyə Toxun' olaraq, arqumentləri 'Göndərənə' və adını 'düymələrə' dəyişdirin. Adı istədiyiniz kimi dəyişə bilərsiniz, amma bu, proqramın sonrakı funksiyasını çağırarkən adı yenidən dəyişdirməli olacağınız deməkdir. Sonra, idarə et, vurun və hər bir düyməni yeni yaratdığımız funksiyaya sürükləyin.

Addım 8: Müxtəlif düymələr funksiyası

Müxtəlif düymələr funksiyası
Müxtəlif düymələr funksiyası

Bütün etiketli müxtəlif düymələri uyğun funksiyalarına bağladıqdan sonra kodu 'düymələr' funksiyasına daxil etməyə başlaya bilərsiniz:

previousNumber = Cüt (label.text!)!

əgər sender.tag == 12 {// Böl

label.text = "/";

}

əgər sender.tag == 13 {// Çarpın

label.text = "x";

}

əgər sender.tag == 14 {// Çıxar

label.text = "-";

}

əgər sender.tag == 15 {// Əlavə et

label.text = "+";

}

əməliyyat = sender.tag

PerformanceMath = doğru;

}

başqa əgər sender.tag == 16 {

əgər əməliyyat == 12 {// Böl

label.text = String (əvvəlkiNumber / numberOnScreen)

}

başqa əgər əməliyyat == 13 {// Çarpın

label.text = String (əvvəlkiNumber * numberOnScreen)

}

başqa əgər əməliyyat == 14 {// Çıxar

label.text = String (əvvəlkiNumber - numberOnScreen)

}

başqa əgər əməliyyat == 15 {// Əlavə et

label.text = String (əvvəlkiNumber + numberOnScreen)

}

}

başqa əgər sender.tag == 11 {

label.text = ""

əvvəlkiSayı = 0;

sayıOnScreen = 0;

əməliyyat = 0;

}

Əslində, bu kod parçası basıldıqda müxtəlif düymələrdən birini göstərir və son cavabı hesablamağa davam edir və etiketdə göstərilir.

Addım 9: Tam Kod

Tam Kod
Tam Kod

Kalkulyatoru addım -addım mənimlə birlikdə keçmək istəməsəniz, elementləri hekayə lövhənizə əlavə edə və tam kodu kopyalayıb görüntü nəzarətçinizə yapışdıra bilərsiniz. İşdə kod:

UIKit idxal edin

sinif ViewController: UIViewController {

var numberOnScreen: Double = 0;

var previousNumber: Double = 0;

var PerformanceMath = yanlış;

var əməliyyat = 0;

@IBAction func nömrələri (_ göndərən: UIButton) {

if PerformMath == doğru {

label.text = String (göndərən.tag-1)

numberOnScreen = Cüt (label.text!)!

PerformingMath = yanlış

}

başqa {

label.text = etiket.text! + String (göndərən.tag-1)

numberOnScreen = Cüt (label.text!)!

}

}

@IBOutlet zəif var etiketi: UILabel!

@IBAction func düymələri (_ göndərən: UIButton) {

əgər label.text! = "" && sender.tag! = 11 && sender.tag! = 16 {

previousNumber = Cüt (label.text!)!

əgər sender.tag == 12 {// Böl

label.text = "/";

}

əgər sender.tag == 13 {// Çarpın

label.text = "x";

}

əgər sender.tag == 14 {// Çıxar

label.text = "-";

}

əgər sender.tag == 15 {// Əlavə et

label.text = "+";

}

əməliyyat = sender.tag

PerformanceMath = doğru;

}

başqa əgər sender.tag == 16 {

əgər əməliyyat == 12 {// Böl

label.text = String (əvvəlkiNumber / numberOnScreen)

}

başqa əgər əməliyyat == 13 {// Çarpın

label.text = String (əvvəlkiNumber * numberOnScreen)

}

başqa əgər əməliyyat == 14 {// Çıxar

label.text = String (əvvəlkiNumber - numberOnScreen)

}

başqa əgər əməliyyat == 15 {// Əlavə et

label.text = String (əvvəlkiNumber + numberOnScreen)

}

}

başqa əgər sender.tag == 11 {

label.text = ""

əvvəlkiSayı = 0;

sayıOnScreen = 0;

əməliyyat = 0;

}

}

func viewDidLoad () {

super.viewDidLoad ()

// Görünüşü yüklədikdən sonra hər hansı bir əlavə quraşdırma edin, adətən bir uçdan.

}

funr didReceiveMemoryWarning () {

super.didReceiveMemoryWarning ()

// Yenidən yaradıla biləcək mənbələri atın.

}

}

Tövsiyə: