Мазмұны:

Swift көмегімен Xcode -те калькуляторды қалай жасауға болады: 9 қадам
Swift көмегімен Xcode -те калькуляторды қалай жасауға болады: 9 қадам

Бейне: Swift көмегімен Xcode -те калькуляторды қалай жасауға болады: 9 қадам

Бейне: Swift көмегімен Xcode -те калькуляторды қалай жасауға болады: 9 қадам
Бейне: Swift: анимация пишущей машинки со звуком с использованием RunLoop 2024, Қыркүйек
Anonim
Image
Image

Бұл жылдам оқулықта мен Xcode -те Swift көмегімен қарапайым калькулятор жасауды көрсетемін. Бұл бағдарлама iOS үшін түпнұсқалық калькулятор қосымшасына ұқсас болу үшін жасалған. Сіз нұсқауларды біртіндеп орындап, менімен бірге калькулятор құра аласыз немесе соңғы қадамға өтіп, кодты көрініс контроллеріне көшіріп, қоюға болады. Алайда, егер сіз мұны жасасаңыз, сюжет тақтасындағы барлық элементтерді көрініс контроллерімен байланыстырыңыз.

1 -қадам: Жобаны құру

Сюжеттік тақтаның орналасуы
Сюжеттік тақтаның орналасуы

Біздің калькуляторды жасаудың бірінші қадамы - бұл жобаны Xcode -де құру. Сіз мұны «Жаңа Xcode жобасын жасау» түймесін басып, қалағаныңызша атау арқылы жасай аласыз. Мен кенішті «Калькулятор» деп атадым. Келесі қадам - бағдарлама түрі үшін «Бір көріністі қолдану» таңдау. Барлық басқа ақпаратты әдепкі мән ретінде сақтаңыз.

2 -қадам: Сюжеттік тақтаның орналасуы

Біздің калькуляторды құрудың 2 -қадамы сюжеттік тақтаның негізгі орналасуын жасауды талап етеді. Мұны бастамас бұрын мен тренажерлік құрылғыны iPhone 7 Plus телефонына ауыстыруды ұсынамын. Әңгіме тақтасындағы түймені сүйреп апарып, өлшемдерін 89 x 89 етіп өзгертуден бастаңыз. Атрибуттар инспекторының фонының түсі сынапқа, ал вольфрамға қаріп түсін өзгертіңіз. Әрі қарай, қаріпті Helvetica Light 30 күйіне келтіріңіз. Барлығы 20 болғанша түймені көшіріп, қоюды жалғастырыңыз. Бұл түймелердің орналасуын бес жол мен төрт баған болатындай етіп реттеңіз.

3 -қадам: сюжеттік тақтаның дизайны және эстетика

Сюжеттік тақтаның дизайны және эстетика
Сюжеттік тақтаның дизайны және эстетика

Төменгі қатардағы екінші түймені жойып, бірінші орынды басып, осы орынды алыңыз. Бұл батырманың толтырғыш мәнін нөлге өзгертіңіз. Әр түймешіктің сандық мәндері мен таңбаларын жоғарыда көрсетілген суретке сәйкес келмейінше өзгертуді жалғастырыңыз. Атрибуттар инспекторында күңгірт сұр түс - күміс, қызғылт сары - мандарин, қаріп түсі - қызғылт сары түймелердегі қарға өзгертілген. Содан кейін көрініс контроллерін нұқыңыз және оның фондық түсін қара етіп өзгертіңіз. Түймелердің үстіне белгі қойыңыз және оның мөлшерін өзіңізге ыңғайлы етіп реттеңіз. Мәтінді оңға туралаңыз және жапсырманың қарпін Helvetica light 70 -ке өзгертіңіз. Қаласаңыз, қосымшаның барлық құрылғыларға бірдей болуын қамтамасыз ету үшін барлық элементтерге шектеулер қосуға болады.

4 -қадам: элементтерді қосу және біріктіру

Элементтерді қосу және біріктіру
Элементтерді қосу және біріктіру
Элементтерді қосу және біріктіру
Элементтерді қосу және біріктіру

Атрибуттар инспекторын ашыңыз және әр сандық түймеге тегті өзгертіңіз. Тег нақты сандық мәннен 1 артық болуы керек. Мысалы, #0 түймешігінде тегтің мәні 1, #1 түймесінің тегінің мәні 2, #2 түймесінің тегінің мәні 3 болуы керек және т.б. Содан кейін, басқару түймесін басып, #0 түймесін басып, көрініс контроллеріне сүйреңіз. Экранда қалқымалы терезе пайда болуы керек. Байланысты 'әрекетке', түрін 'UIButton', оқиғаны 'Touch Up Inside', аргументтерді 'Жіберушіге' және оның атын 'сандарға' өзгертіңіз. Сіз атауды қалағаныңызша өзгерте аласыз, бірақ бұл кейінірек бағдарламада функцияны шақырған кезде атауды өзгертуге тура келетінін білдіреді. Әрі қарай, әр нөмір түймесін біз жасаған функцияға басқарыңыз, нұқыңыз және апарыңыз. Енді белгіні бағдарламаға басқарыңыз, нұқыңыз және сүйреңіз, бірақ функцияға ЕМЕС. Бұл белгіні функцияға бөлек айнымалы ретінде енгізуді білдіреді. Есіңізде болсын, егер сіз код туралы түсініксіз болсаңыз, мен барлық кодты осы нұсқаулықтың соңғы қадамында қолдануға қалдырдым.

5 -қадам: айнымалыларды орнату

Айнымалыларды құру
Айнымалыларды құру

Біздің сандық түймелердің функционалды болуы үшін олардың мәнін «сандар» функциясындағы затбелгіге қосуға тура келеді. Сіз мұны алдымен 'numberOnScreen' айнымалысын жасау арқылы жасай аласыз және оны қос және 0 -ге тең түрге айналдырыңыз: var numberOnScreen: Double = 0; Ұмытпаңыз, егер бұл жерде код сәл түсініксіз болса, мен сізге соңғы қадамда толық кодты қалдырдым, оны өз қалауыңыз бойынша қолданыңыз. Содан кейін, bool түріндегі басқа 'PerformingMath' айнымалысын орнатыңыз және оны жалған етіңіз: var PerformingMath = false; Сондай -ақ, double түріндегі 'previousNumber' деп аталатын басқа айнымалы құрыңыз және оны 0 -ге тең етіп орнатыңыз: var previousNumber: Double = 0; Сіз жасайтын соңғы айнымалы - бұл «операция» айнымалысы. Оны 0 -ге тең етіп орнатыңыз: var operation = 0;

6 -қадам: Сандық түймелер функциясы

Сандық түймелердің қызметі
Сандық түймелердің қызметі

Тиісті айнымалыларды орнатқаннан кейін, сіз осы кодты «сандар» функциясына көшіріп, қоюды жалғастыра аласыз:

if performMath == true {

label.text = Жол (sender.tag-1)

numberOnScreen = Қосарланған (label.text!)!

performMath = жалған

}

басқа {

label.text = label.text! + Жол (sender.tag-1)

numberOnScreen = Қосарланған (label.text!)!

}

Негізінде, бұл код бөлігі тиісті түйме басылған кезде жапсырмада белгілі бір сандарды көрсетеді. Дегенмен, біз әлі де барлық басқа түймелерді қолдана білуіміз керек және калькуляторды функционалды ете аламыз. Біз мұны келесі екі қадамда жасаймыз.

7 -қадам: операциялық түймелерді біріктіру

Біріктіру операциялық түймелері
Біріктіру операциялық түймелері
Біріктіру операциялық түймелері
Біріктіру операциялық түймелері

Атрибуттар инспекторын ашыңыз және барлық түймелердің тегін өзгертіңіз. Таза түймеде 11 белгісі болуы керек, бөлу түймесінде 12 таңбасы болуы керек, көбейту түймесінде 13 таңбасы болуы керек, азайту түймесінде 14 таңбасы болуы керек, қосу түймесінде 15 таңбасы болуы керек, және тең түймеде 16 белгісі болуы керек. Содан кейін басқару түймесін басып, тазарту түймесін басып, оны көрініс контроллеріне сүйреңіз. Экранда қалқымалы терезе пайда болуы керек. Байланысты 'әрекетке', түрін 'UIButton', оқиғаны 'Touch Up Inside', аргументтерді 'Жіберушіге' және оның атын 'түймешіктерге' өзгертіңіз. Сіз атауды қалағаныңызша өзгерте аласыз, бірақ бұл кейінірек бағдарламада функцияны шақырған кезде атауды өзгертуге тура келетінін білдіреді. Әрі қарай, әр түрлі түймені біз жасаған функцияға басқарыңыз, нұқыңыз және апарыңыз.

8 -қадам: Әр түрлі түймелердің функциясы

Әр түрлі түймелердің қызметі
Әр түрлі түймелердің қызметі

Белгіленген барлық түймелерді сәйкес функцияға қосқаннан кейін, кодты 'түймелер' функциясына енгізуді бастауға болады:

previousNumber = Қосарланған (label.text!)!

if sender.tag == 12 {// Бөлу

label.text = «/»;

}

егер sender.tag == 13 {// Көбейт

label.text = «x»;

}

егер sender.tag == 14 {// азайту

label.text = «-»;

}

if sender.tag == 15 {// Қосу

label.text = «+»;

}

операция = sender.tag

performMath = true;

}

әйтпесе sender.tag == 16 {

егер операция == 12 {// Бөлу

label.text = Жол (алдыңғыNumber / numberOnScreen)

}

else if амал == 13 {// Көбейт

label.text = Жол (алдыңғыNumber * numberOnScreen)

}

else if амал == 14 {// азайту

label.text = Жол (алдыңғыNumber - numberOnScreen)

}

else if амал == 15 {// Қосу

label.text = Жол (алдыңғыNumber + numberOnScreen)

}

}

әйтпесе sender.tag == 11 {

label.text = «»

алдыңғыNumber = 0;

numberOnScreen = 0;

операция = 0;

}

Негізінде, бұл код бөлігі басылған кезде әр түрлі түймелердің бірін көрсетеді және соңғы жауапты есептеуге кіріседі және оны жапсырмада көрсетеді.

9 -қадам: Толық код

Толық код
Толық код

Егер сіз менімен бірге калькуляторды біртіндеп жасағыңыз келмесе, онда элементтерді әңгіме тақтасына қосып, толық кодты көрініс контроллеріне көшіріп қоюға болады. Міне код:

UIKit импорттау

ViewController класы: UIViewController {

var numberOnScreen: Double = 0;

var previousNumber: Double = 0;

var PerformingMath = жалған;

var операциясы = 0;

@IBAction функционалды нөмірлері (_ жіберуші: UIButton) {

if performMath == true {

label.text = Жол (sender.tag-1)

numberOnScreen = Қосарланған (label.text!)!

performMath = жалған

}

басқа {

label.text = label.text! + Жол (sender.tag-1)

numberOnScreen = Қосарланған (label.text!)!

}

}

@IBOutlet әлсіз var белгісі: UILabel!

@IBAction функционалды түймелері (_ жіберуші: UIButton) {

if label.text! = «» && sender.tag! = 11 && sender.tag! = 16 {

previousNumber = Қосарланған (label.text!)!

if sender.tag == 12 {// Бөлу

label.text = «/»;

}

егер sender.tag == 13 {// Көбейт

label.text = «x»;

}

егер sender.tag == 14 {// азайту

label.text = «-»;

}

if sender.tag == 15 {// Қосу

label.text = «+»;

}

операция = sender.tag

performMath = true;

}

әйтпесе sender.tag == 16 {

егер операция == 12 {// Бөлу

label.text = Жол (алдыңғыNumber / numberOnScreen)

}

else if амал == 13 {// Көбейт

label.text = Жол (алдыңғыNumber * numberOnScreen)

}

else if амал == 14 {// азайту

label.text = Жол (алдыңғыNumber - numberOnScreen)

}

else if амал == 15 {// Қосу

label.text = Жол (алдыңғыNumber + numberOnScreen)

}

}

әйтпесе sender.tag == 11 {

label.text = «»

алдыңғыNumber = 0;

numberOnScreen = 0;

операция = 0;

}

}

func viewDidLoad () {ауыстыру

super.viewDidLoad ()

// Көріністі жүктегеннен кейін, әдетте, ұштан кез келген қосымша орнатуды жасаңыз.

}

funr didReceiveMemoryWarning () {

super.didReceiveMemoryWarning ()

// Қайта құруға болатын кез келген ресурстарды жою.

}

}

Ұсынылған: