본문 바로가기
ios 뽀개기/ios앱

5 사진 확대 축소 변경

by 인생여희 2017. 11. 20.
반응형



//

//  ViewController.swift

//  imageView

//

//  Created by MacBookPro on 2017. 11. 20..

//  Copyright © 2017년 MacBookPro. All rights reserved.

//


import UIKit


class ViewController: UIViewController {

    

    

    var isZoom = false      //확대여부를 나타내는 변수

    var imgOn: UIImage?     //켜진 전구 이미지가 있는 uiimage타입변수

    var imgOff: UIImage?    //꺼진 전구 이미지가 있는 uiimage타입변수

    

    

    

    

    //이미지뷰에 대한 아웃렛 변수

    @IBOutlet weak var imageView: UIImageView!

    //버튼에 대한 아웃렛 변수

    @IBOutlet weak var btnResize: UIButton!

    

    //내가 만든 뷰를 불러왔을 때 호출되는 함수

    override func viewDidLoad() {

        super.viewDidLoad()


        imgOn = UIImage(named:"on.jpg") // imgOn에 on.jpg 이미지를 할당

        imgOff = UIImage(named:"off.jpg") // imgOff에 off.jpg 이미지를 할당

        

        imageView.image = imgOn             //위에서 할당한 imgOn이미지를 imgView에 할당

        

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }


    //button 함수

    @IBAction func btnResizeAction(_ sender: UIButton) {

        

        let scale:CGFloat = 2.0         //확대할 배율값

        var newWidth:CGFloat, newHeight:CGFloat //확대할 크기의 계산 값을 보관할 변수

        

        

        if(isZoom){

            

            newWidth = imageView.frame.width/scale //이미지뷰의 프레임 너빗값을 scale로 나눔

            newHeight = imageView.frame.height/scale

            

            //이미지 뷰의 프레임 크기를 수정된 너비와 높이로 변경한다.

            imageView.frame.size = CGSize(width: newWidth, height: newHeight)

            btnResize.setTitle("확대", for: .normal)

            

        }else{

            

            newWidth = imageView.frame.width*scale

            newHeight = imageView.frame.height*scale

            imageView.frame.size = CGSize(width: newWidth, height: newHeight)

            btnResize.setTitle("축소", for: .normal)

            

        }

        //isZoom 변수의 상태를 변경

        isZoom = !isZoom

        

        

    }

    

    //switch 함수

    @IBAction func switchOnOff(_ sender: UISwitch) {

        

        if(sender.isOn)

        {

            imageView.image = imgOn

        }else

        {

            imageView.image = imgOff

        }

        

        

        

    }

}















반응형

'ios 뽀개기 > ios앱' 카테고리의 다른 글

7 picker view  (0) 2017.11.21
6 데이터 피커 날짜함수  (0) 2017.11.21
4 버튼 action함수  (0) 2017.11.20
3 테이블 뷰  (0) 2017.11.17
2 레이아웃  (0) 2017.11.17

댓글