카테고리 없음

241107 iOS프로그래밍기초 10주차

Z2AE 2024. 11. 7. 16:51

08 맵 뷰로 지도 나타내기

프로젝트를 처음 열었을 때 Main.storyboard를 열어 어떤 프로그램

두번째로 확인할 것은 어떤 아웃렛과 액션이 있는지 확인하기. (View Controller를 클릭 후 오른쪽 화면에 뜸)

시뮬레이터를 키고 해당 설정을 하면 원하는 설정으로 바꿀 수 있다. (기본값 : Apple, 지금은 모델에 GPS가 없기 때문에 설정 시 애플 본사로 위치됨)

Custom Location을 현재 위치의 위도와 경도로 설정하면 올바르게 나타낼 수 있다.

모든 설정을 다 끝마친 후 Simulator 화면


09 페이지 이동하기 - 페이지 컨트롤


10 탭 바 컨트롤러 이용해 여러 개의 뷰 넣기

기존에 했던 실습들을 한번에 보기 위한 탭 바 


11 내비게이션 컨트롤러 이용해 화면 전환하기

누르면 뒤로 갔다가, Back 버튼으로 다시 앞으로 왔다갔다 할 수 있게끔 하는 것


12 테이블 뷰 컨트롤러 이용해 할 일 목록 만들기

13 음악 재생하고 녹음하기


14 비디오 재생 앱 만들기

내부 파일 mp4의 장단점

장점 : network traffic이 발생하지 않는다.

단점 : 앱의 용량이 늘어날 수 있다.

15 카메라와 포토 라이브러리에서 미디어 가져오기


16 코어 그래픽스로 화면에 그림 그리기


17 탭과 터치 사용해 스케치 앱 만들기

상황에 따라 Touches Began - Moved - Ended

첫번째 사진처럼 터치를 활용해서 스케치 앱을 만든 모습, 마우스 클릭으로 그림을 그릴 수 있으며, Clear 버튼을 누르면 초기화된다.


18 스와이프 제스처 사용하기

화면의 아무 곳이든 스와이프 해주면 스와이프 한 방향에 따라 화살표의 색이 빨간색으로 바뀐다.


19 핀치 제스처 사용해 사진을 확대/축소하기

alt + 클릭으로 핀치 제스처를 사용할 수 있다.

네비게이션 컨트롤러, 테이블 뷰, 탭 바 세가지는 복잡한 앱을 만들 때 필수적으로 사용하는 컨트롤러이다.

BMI 계산하는 방법

let weight = 60.0
let height = 170.0
let bmi = weight / (height*height*0.0001) // kg/m*m
print(bmi)

 

Swift 문자열 서식(swift string format 자리수)

import Foundation
let weight = 60.0
let height = 170.0
let bmi = weight / (height*height*0.0001) // kg/m*m
let shortenedBmi = String(format: "%.1f", bmi)
var body = ""
if bmi >= 40 {
	body = "3단계 비만"
} else if bmi >= 30 && bmi < 40 {
	body = "2단계 비만"
} else if bmi >= 25 && bmi < 30 {
	body = "1단계 비만"
} else if bmi >= 18.5 && bmi < 25 {
	body = "정상"
} else {
	body = "저체중"
}
print("BMI:\(shortenedBmi), 판정:\(body)")

 

BMI를 판정하는 calcBMI()함수 정의

import Foundation
class BMI {
 var weight : Double
 var height : Double
 init(weight:Double, height:Double){
  self.height = height
  self.weight = weight
 }
 func calcBMI() -> String {
  let bmi=weight/(height*height*0.0001)// kg/m*m
  let shortenedBmi = String(format: "%.1f", bmi)
  var body = ""
  if bmi >= 40 {
    body = "3단계 비만"
  } else if bmi >= 30 && bmi < 40 {
    body = "2단계 비만"
  } else if bmi >= 25 && bmi < 30 {
    body = "1단계 비만"
  } else if bmi >= 18.5 && bmi < 25 {
    body = "정상"
  } else {
    body = "저체중"
  }
  return "BMI:\(shortenedBmi), 판정:\(body)"
 }
}
var han = BMI(weight:62.5, height:172.3)
print(han.calcBMI())

rounded button : identity inspector

  • 버튼 선택한 후 Identity Inspector 클릭
  • User Defined Runtime Attributes에서 [+]클릭
  • Key Path : layer.cornerRadius, Type: Number, Value : 7 입력

실행 결과

Text Field의 keyboard Type - Decimal Pad로 변경하여 문자 말고 숫자만 입력되도록 변경

이모티콘까지 추가한 최종 화면

BMI_LSY.zip
0.07MB

 

참고자료 :