새로운 프로젝트를 생성
기본 소스만 써져있던 것을 chatgpt를 이용하여 일정 시간이 지나면 배경색이 바뀌도록 만든 소스
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var iabel: UILabel!
@IBOutlet weak var name: UITextField!
var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
// 타이머 시작
startColorChangeTimer()
}
@IBAction func buttonsend(_ sender: UIButton) {
iabel.text = "Hello, " + (name.text ?? "")
}
func startColorChangeTimer() {
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(changeBackgroundColor), userInfo: nil, repeats: true)
}
@objc func changeBackgroundColor() {
// 랜덤한 색상 생성
let randomRed = CGFloat(arc4random()) / CGFloat(UINT32_MAX)
let randomGreen = CGFloat(arc4random()) / CGFloat(UINT32_MAX)
let randomBlue = CGFloat(arc4random()) / CGFloat(UINT32_MAX)
// 배경색 변경
self.view.backgroundColor = UIColor(red: randomRed, green: randomGreen, blue: randomBlue, alpha: 1.0)
}
deinit {
// 타이머 해제
timer?.invalidate()
}
}
이전 주차에서 했던 내용은 제외하고 작성
print(sender)라고 작성 후, sender가 저장하고 있는 내용 확인하기
리셋 버튼을 클릭하면 초기값으로 바뀌는 소스 추가
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lblHello: UILabel!
@IBOutlet weak var txtName: UITextField!
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = "안녕, " + txtName.text!
// print(sender)
// print(lblHello.text, txtName.text)
}
@IBAction func resetBtn(_ sender: UIButton) {
lblHello.text = "안녕하세요?"
txtName.text = ""
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
lblNumber, btnUp, btnDown 추가하여 UpDown 앱 만들기
import UIKit
class ViewController: UIViewController {
var x = 0
@IBOutlet weak var lblNumber: UILabel!
@IBOutlet weak var lblHello: UILabel!
@IBOutlet weak var txtName: UITextField!
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = "안녕, " + txtName.text!
// print(sender)
// print(lblHello.text, txtName.text)
}
@IBAction func resetBtn(_ sender: UIButton) {
lblHello.text = "안녕하세요?"
txtName.text = ""
}
@IBAction func btnUp(_ sender: UIButton) {
x = x + 1
lblNumber.text = String(x)
// lblNumber.text = x 불가! 기존 : int형
}
@IBAction func btnDown(_ sender: UIButton) {
x = x - 1
lblNumber.text = String(x)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
03 원하는 이미지 화면에 출력하기 - 이미지 뷰
- 확대 / 축소버튼과 토글을 활용하여 전구를 껐다 켤 수 있다.
04 데이트 피커 사용해 날짜 선택하기
- 상단에는 현재 시간이 나오고, 하단에는 선택한 시간이 나오는 예제
05 피커 뷰 사용해 원하는 항목 선택하기
- 마우스를 드래그하여 원하는 사진을 떠오르게 할 수 있다.
06 얼럿 사용해 경고 표시하기
- 켜기/끄기/제거 버튼을 클릭하면 alert창이 뜬다.
07 웹 뷰로 간단한 웹 브라우저 만들기
- ViewController를 통해 수정하여 자신의 블로그 주소로 바꾸고 실행하기
08 맵 뷰로 지도 나타내기
09 페이지 이동하기 - 페이지 컨트롤
10 탭 바 컨트롤러 이용해 여러 개의 뷰 넣기
11 내비게이션 컨트롤러 이용해 화면 전환하기
12 테이블 뷰 컨트롤러 이용해 할 일 목록 만들기
13 음악 재생하고 녹음하기
14 비디오 재생 앱 만들기
15 카메라와 포토 라이브러리에서 미디어 가져오기
16 코어 그래픽스로 화면에 그림 그리기
17 탭과 터치 사용해 스케치 앱 만들기
18 스와이프 제스처 사용하기
19 핀치 제스처 사용해 사진을 확대/축소하기
참고자료 :
- 한성현 교수님 수업자료
- Do it! 스위프트로 아이폰 앱 만들기 입문, 송호정, 이범근 저,이지스퍼블리싱, 2023년 01월 20일
- https://www.yes24.com/Product/Goods/116918114
- https://github.com/doitswift/example
'iOS프로그래밍 (2학년 2학기)' 카테고리의 다른 글
241017 iOS프로그래밍기초 7주차 (1) | 2024.10.17 |
---|---|
241009 iOS프로그래밍기초 6주차 (1) | 2024.10.14 |
241002 iOS프로그래밍기초 5주차 (2) | 2024.10.14 |
240926 iOS프로그래밍기초 4주차 (3) | 2024.09.26 |
240919 iOS 프로그래밍기초 3주차 (0) | 2024.09.19 |