iOS앱개발 8주차

2024. 10. 31. 16:48iOS앱개발

 

주기적으로 배경색이 바뀌는 앱

import UIKit // UIKit 프레임워크를 임포트하여 UI 요소를 사용할 수 있게 함

class ViewController: UIViewController { // ViewController 클래스 선언, UIViewController를 상속

    override func viewDidLoad() { // view가 로드될 때 호출되는 메서드, 초기 설정에 사용
        super.viewDidLoad() // 부모 클래스의 viewDidLoad를 호출하여 기본 설정을 실행
        startColorChangeTimer() // 배경색을 변경하는 타이머를 시작하는 메서드 호출
    }

    // 배경색을 주기적으로 변경하기 위해 타이머를 설정하는 메서드
    func startColorChangeTimer() {
        // 2초마다 changeBackgroundColor 메서드를 반복 호출하는 타이머 설정
        Timer.scheduledTimer(
            timeInterval: 2.0, // 타이머의 간격을 2초로 설정
            target: self, // 타이머가 호출할 메서드가 있는 대상 객체
            selector: #selector(changeBackgroundColor), // 호출할 메서드를 지정
            userInfo: nil, // 사용자 정보는 nil로 설정 (필요하지 않음)
            repeats: true // 반복해서 실행되도록 설정
        )
    }

    // 배경색을 무작위 색상으로 변경하는 메서드
    @objc func changeBackgroundColor() {
        // 배경색을 RGB 랜덤 값으로 설정
        view.backgroundColor = UIColor(
            red: CGFloat.random(in: 0...1), // 0에서 1 사이의 랜덤 값으로 빨간색 설정
            green: CGFloat.random(in: 0...1), // 0에서 1 사이의 랜덤 값으로 초록색 설정
            blue: CGFloat.random(in: 0...1), // 0에서 1 사이의 랜덤 값으로 파란색 설정
            alpha: 1.0 // 투명도를 1.0으로 설정하여 불투명하게 만듦
        )
    }
}

변수를 outlet 함수를 action 이라고 한다.

연결 오류가 날 경우 view controller 의 Connections Inspector 에서 노란 삼각형 부분을 체크해서 연결을 수정하면 된다

화살표를 지울 경우에는 위 화면의 Storyboard Entry Point에서

위 옵션을 활성화시키면 된다

가로새로 비율을 유지하며 이미지를 채우는 옵션

sender가 제공해주는 옵션들

리셋 버튼 추가

Up Down  버튼 추가

 

소스코드

//
//  ViewController.swift
//  Hello31
//
//  Created by comsoft on 2024/10/31.
//

import UIKit

class ViewController: UIViewController {
    var x = 0
    
    
    @IBOutlet var lblNumber: UILabel!
    @IBOutlet var lblHello: UILabel!
    @IBOutlet 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 btnUo(_ sender: UIButton) {
        x += 1
        lblNumber.text = String(x)
    }
    
    @IBAction func btnDown(_ sender: UIButton) {
        x -= 1
        lblNumber.text = String(x)
    }
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
//        print("Start")
    }


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

위 책에 있는 실습 소스를 실행시켜본 결과입니다.

03 원하는 이미지 화면에 출력하기 - 이미지 뷰
04 데이트 피커 사용해 날짜 선택하기
05 피커 뷰 사용해 원하는 항목 선택하기
06 얼럿 사용해 경고 표시하기
07 웹 뷰로 간단한 웹 브라우저 만들기
08 맵 뷰로 지도 나타내기
09 페이지 이동하기 - 페이지 컨트롤
10 탭 바 컨트롤러 이용해 여러 개의 뷰 넣기
11 내비게이션 컨트롤러 이용해 화면 전환하기
12 테이블 뷰 컨트롤러 이용해 할 일 목록 만들기
13 음악 재생하고 녹음하기
14 비디오 재생 앱 만들기
15 카메라와 포토 라이브러리에서 미디어 가져오기
16 코어 그래픽스로 화면에 그림 그리기
17 탭과 터치 사용해 스케치 앱 만들기
18 스와이프 제스처 사용하기
19 핀치 제스처 사용해 사진을 확대/축소하기

03 원하는 이미지 화면에 출력하기 - 이미지 뷰
04 데이트 피커 사용해 날짜 선택하기
05 피커 뷰 사용해 원하는 항목 선택하기
06 얼럿 사용해 경고 표시하기
07 웹 뷰로 간단한 웹 브라우저 만들기

 

출저: 스마일한의 스위프트 기초

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

iOS앱개발 10주차  (6) 2024.11.14
iOS앱개발 9주차  (2) 2024.11.07
iOS 앱개발 7주차  (1) 2024.10.17
iOS 앱개발 6주차  (3) 2024.10.10
iOS 앱개발 5주차  (0) 2024.10.06