[iOS] 탭 바 컨트롤러 이용하기

!·2022년 8월 28일
0

iOS

목록 보기
12/22

기능

  1. 최초 화면에서 상단의 버튼을 통해 테이블 뷰의 인덱스로 이동가능.
  2. 화면 아래의 탭 바 컨트롤러 버튼을 이용해 화면 전환이 가능.

코드

import UIKit

class ViewController: UIViewController{
    
    
    override func viewDidLoad(){
        super.viewDidLoad()
    }
    
    @IBAction func touchUpGoImageViewControllerButton(_ sender: UIButton) {
        tabBarController?.selectedIndex = 1
    }
    
    
    @IBAction func touchUpGoDateViewControllerButton(_ sender: UIButton) {
        tabBarController?.selectedIndex = 2
    }
}
import UIKit

class DatePickerViewController: UIViewController {

    let timeSelector : Selector = #selector(DatePickerViewController.updateTime)
    let interval = 1.0
    var count = 0
    var alarmTime: String = ""
    
    @IBOutlet var currentTimeLabel: UILabel!
    @IBOutlet var datePickerLabel: UILabel!
    @IBOutlet var datePickerView: UIDatePicker!
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        Timer.scheduledTimer(timeInterval: interval, target: self, selector: timeSelector, userInfo: nil, repeats: true)
    }


    @IBAction func changeDatePicker(_ sender: UIDatePicker) {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd HH:mm EEE"
        
        datePickerLabel.text = "선택시간 : " + formatter.string(from: sender.date)
        
        formatter.dateFormat = "hh:mm aaa"
        alarmTime = formatter.string(from: datePickerView.date)
        
    }
    @objc func updateTime(){
        let date = NSDate()
        
        let formatter: DateFormatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd HH:mm EEE"
        currentTimeLabel.text = "현재시각 : " + formatter.string(from: date as Date)
        formatter.dateFormat = "hh:mm aaa"
        let currentTime = formatter.string(from: date as Date)
        if(currentTime == alarmTime)
        {
            let alert = UIAlertController(title: "알림", message: "설정하신 시간입니다.", preferredStyle: .alert)
            let action = UIAlertAction(title: "네, 알겠습니다.", style: .default)
            alert.addAction(action)
            present(alert, animated: true, completion: nil)
        }else{
            view.backgroundColor = .white
        }
    }
}
import UIKit

class ImageViewController: UIViewController {
    
    var isZoom = false
    var imgOn: UIImage?
    var imgOff: UIImage?

    @IBOutlet var imageView: UIImageView!
    @IBOutlet var resizeButton: UIButton!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        imgOn = UIImage(named: "lamp_on")
        imgOff = UIImage(named: "lamp_off")
        imageView.image = imgOn
    }
    @IBAction func touchUpResizeButton(_ sender: UIButton) {
        let scale: CGFloat = 2.0
        var newWidth : CGFloat
        var newHeight: CGFloat
        if isZoom {
            resizeButton.setTitle("확대", for: .normal)
            newWidth = imageView.frame.width / scale
            newHeight = imageView.frame.height / scale
        }else{
            resizeButton.setTitle("축소", for: .normal)
            newWidth = imageView.frame.width * scale
            newHeight = imageView.frame.height * scale
        }
        isZoom.toggle()
        imageView.frame.size = CGSize(width: newWidth, height: newHeight)
    }
    
    @IBAction func switchOnOffButton(_ sender: UISwitch){
        if sender.isOn{
            imageView.image = imgOn
        }else{
            imageView.image = imgOff
        }
    }
}
profile
개발자 지망생

0개의 댓글