Mündəricat:
- Addım 1: Layihənin yaradılması
- Addım 2: Storyboard Layout
- Addım 3: Storyboard Dizaynı və Estetikası
- Addım 4: Elementləri birləşdirmək və birləşdirmək
- Addım 5: Dəyişənlərin qurulması
- Addım 6: Nömrə Düymələri Fonksiyonu
- Addım 7: Əməliyyat Düymələrinin İnteqrasiyası
- Addım 8: Müxtəlif düymələr funksiyası
- Addım 9: Tam Kod
Video: Swift istifadə edərək Xcode -da Kalkulyator necə etmək olar: 9 addım
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
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ı
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ı
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
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ı
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
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ı
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ı
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
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.
}
}