iOS프로그래밍 (2학년 2학기)

241031 iOS프로그래밍기초 9주차

Z2AE 2024. 10. 31. 16:47

새로운 프로젝트를 생성

기본 소스만 써져있던 것을 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가 저장하고 있는 내용 확인하기

아래 실행창에 뜨는 코드가 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 핀치 제스처 사용해 사진을 확대/축소하기

 

 

 

 

참고자료 :