IOS앱개발

iOS 앱개발 9주차

taeho1630 2024. 10. 31. 16:49
import UIKit

class ViewController: UIViewController {

    var timer: Timer?

    override func viewDidLoad() {
        super.viewDidLoad()
        // 색상 변경 타이머 시작
        startColorChangeTimer()
    }
    
    func startColorChangeTimer() {
        // 2초마다 changeBackgroundColor 메서드 호출
        timer = Timer.scheduledTimer(timeInterval: 2.0, target: self, selector: #selector(changeBackgroundColor), userInfo: nil, repeats: true)
    }
    
    @objc func changeBackgroundColor() {
        // 랜덤 색상 생성
        let randomColor = UIColor(
            red: CGFloat(arc4random() % 256) / 255.0,
            green: CGFloat(arc4random() % 256) / 255.0,
            blue: CGFloat(arc4random() % 256) / 255.0,
            alpha: 1.0
        )
        // 뷰의 배경색 변경
        view.backgroundColor = randomColor
    }

    deinit {
        // 타이머 해제
        timer?.invalidate()
    }
}

챗 지피티를 이용해서

아울렛 변수와 액션 함수
ViewController에서 Connections inspecter에서 연결관계에 대해 알 수 있다.

 

화면상의 화살표는 실수로 지워졌을 경우 우측 상단의 is initial View Controller를 체크해준다 이는 이것이 뷰 컨트롤러인가요? 라고 묻는 것이다.
우측의 VIew에서 Aspect Fit이 종횡비가 좋게 나오고 다른 다양한 옵션이 있다.
sender를 출력하면 아래의 내용이 나온다

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var txtName: UITextField!
    @IBOutlet weak var lblHello: UILabel!
    @IBAction func btnSend(_ sender: UIButton) {
        lblHello.text="안녕"+txtName.text!
        // print(lblHello.text, txtName.text)
    }
    @IBAction func ResetButton(_ sender: UIButton) {
        lblHello.text="안녕하세요!"
        txtName.text=""
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // print("Strat")
        // Do any additional setup after loading the view.
    }


}

밑의 사진은 실행결과고 위의 코드는 밑의 결과의 실행코드이다. 텍스트에 아무거나 입력하고 눌러봐를 누른 뒤 Reset버튼을 누르면 초기 화면으로 돌아온다

새로 만드는 레이블이나 버튼 등과 같은 경우는 Alt로 복사가 가능하다 

import UIKit

class ViewController: UIViewController {
    var x = 0
    
    @IBOutlet weak var lblNumber: UILabel!
    @IBAction func btnup(_ sender: UIButton) {
        x = x+1
        lblNumber.text=String(x)
    }
    @IBAction func btndown(_ sender: UIButton) {
        x = x-1
        lblNumber.text=String(x)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // print("Strat")
        // Do any additional setup after loading the view.
    }


}

가운데 숫자를 늘리고 줄이는 코드이다. 아울렛을 추가할땐 위로 쓰고 버튼은 밑으로 연결하여 사용한다

 

Do it! 스위프트로 아이폰 앱 만들기 입문, 송호정, 이범근 저,이지스퍼블리싱, 2023년 01월 20일

 

GitHub - doitswift/example: Do it! 스위프트로 아이폰 앱 만들기 - 전체 예제 파일

Do it! 스위프트로 아이폰 앱 만들기 - 전체 예제 파일. Contribute to doitswift/example development by creating an account on GitHub.

github.com

 

02 Hello World 앱 만들며 Xcode에 완벽 적응하기

02 Hello World 앱 만들며 Xcode에 완벽 적응하기


03 원하는 이미지 화면에 출력하기 - 이미지 뷰

03 원하는 이미지 화면에 출력하기 - 이미지 뷰


04 데이트 피커 사용해 날짜 선택하기

04 데이트 피커 사용해 날짜 선택하기


05 피커 뷰 사용해 원하는 항목 선택하기
06 얼럿 사용해 경고 표시하기

06 얼럿 사용해 경고 표시하기


07 웹 뷰로 간단한 웹 브라우저 만들기

07 웹 뷰로 간단한 웹 브라우저 만들기


08 맵 뷰로 지도 나타내기
09 페이지 이동하기 - 페이지 컨트롤
10 탭 바 컨트롤러 이용해 여러 개의 뷰 넣기
11 내비게이션 컨트롤러 이용해 화면 전환하기
12 테이블 뷰 컨트롤러 이용해 할 일 목록 만들기
13 음악 재생하고 녹음하기
14 비디오 재생 앱 만들기
15 카메라와 포토 라이브러리에서 미디어 가져오기
16 코어 그래픽스로 화면에 그림 그리기
17 탭과 터치 사용해 스케치 앱 만들기
18 스와이프 제스처 사용하기
19 핀치 제스처 사용해 사진을 확대/축소하기

 

'IOS앱개발' 카테고리의 다른 글

11주차  (4) 2024.11.14
10주차  (2) 2024.11.07
iOS 프로그래밍 기초 7주차  (1) 2024.10.17
iOS 앱 개발 6주차(1010)  (0) 2024.10.10
ios앱개발 5주차  (1) 2024.10.09