Archive/Doit 아이폰 앱(입문)

ImageView - 코드리뷰

lgvv 2021. 3. 2. 11:03
//
//  ViewController.swift
//  imageView
//
//  Created by Hamlit Jason on 2021/02/18.
//

import UIKit

class ViewController: UIViewController {
    
    var isZoom = false
    var imgOn : UIImage?
    var imgOff : UIImage?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        
        imgOn = UIImage(named: "lamp_on.png")
        imgOff = UIImage(named: "lamp_off.png")
        
        imgView.image = imgOn
    }

    @IBOutlet var imgView: UIImageView!
    @IBOutlet var btnResize: UIButton!
    
    @IBAction func switchImageOnOff(_ sender: UISwitch) {
        if sender.isOn {
            imgView.image = imgOn
        } else {
            imgView.image = imgOff
        }
    }
    @IBAction func btnResizeImage(_ sender: UIButton) {
        let scale:CGFloat = 2.0 // 배율값 설정
        var newWidth:CGFloat, newHeight:CGFloat
    
        if (isZoom) {
            newWidth = imgView.frame.width/scale // 이미지뷰의 프레임 크기를 변경
            newHeight = imgView.frame.height/scale
            btnResize.setTitle("sizeUp", for: .normal) // 버튼의 타이틀을 바꾸는 코드인데, label과 변경하는 법이 다르니 주의
        } else {
            newWidth = imgView.frame.width * scale
            newHeight = imgView.frame.height * scale
            btnResize.setTitle("sizeDown", for: .normal)
        }
        isZoom = !isZoom
        imgView.frame.size = CGSize(width: newWidth, height: newHeight)
    }
}


​

imageView.zip
1.44MB

 

결과물

 

 

주요 구현 기능

 - 버튼을 통한 이미지 사이즈 조정

 - 스위치를 통한 이미지 변경

 

 

참고사항 - 레이아웃 설정하지 않음 아이폰 12 미니에서 정상적으로 보임

 

 

 

'Archive > Doit 아이폰 앱(입문)' 카테고리의 다른 글

PickerView - 코드리뷰  (0) 2021.03.02
DatePicker - 코드리뷰 (타이머)  (0) 2021.03.02
오토 레이아웃  (0) 2021.03.01
iOS 앱의 구조와 프레임워크  (1) 2021.03.01
개념 카테고리 규칙  (0) 2021.03.01