본문 바로가기
ios 뽀개기/실전

alert 커스텀 슬라이더

by 인생여희 2018. 1. 3.
반응형

alert 커스텀 슬라이더



//

//  ViewController.swift

//  AlertCustom1

//

//  Created by MacBookPro on 2018. 1. 3..

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

//


import UIKit


class ViewController: UIViewController {


    override func viewDidLoad() {

        super.viewDidLoad()

        

        //버튼 객체 만들기

        let btn = UIButton(type:.system)

        btn.frame =  CGRect(x:50, y:50 , width: 200, height: 100)

        btn.center = CGPoint(x:self.view.frame.width / 2, y: self.view.frame.height / 2)

        btn.setTitle("alert", for: UIControlState.normal)

        btn.backgroundColor = UIColor.brown

        btn.layer.borderColor = UIColor.blue.cgColor

        btn.layer.borderWidth = 4

        

        self.view.addSubview(btn)

        

        btn.addTarget(self, action: #selector(alertAction(_:)), for: .touchUpInside)

        

    }


    @objc func alertAction(_ sender:Any){

        

        //컨텐트 뷰 영역에 들어갈 컨트롤러를 생성하고, 알림창에 등록한다.

        let contentVC = ControlViewController()

        

        

        //1. 알림창을 경고 형식으로 정의 한다.

        let alert = UIAlertController(title: nil, message: "이글의 평점은 다음과 같습니다",preferredStyle: .alert)

        

        // 뷰 컨트롤러 알림창의 콘텐츠 뷰 컨트롤러 속성에 등록한다.

        alert.setValue(contentVC, forKeyPath: "contentViewController")

        

        

        //2. 버튼을 정의 한다.

        // OK 버튼을 추가한다.

        let okAction = UIAlertAction(title: "OK", style: .default) { (_) in

            print(">>> sliderValue = \(contentVC.sliderValue)")

        }

        

        //3. 정의된 버튼을 알림창 객체에 추가한다.

        alert.addAction(okAction)

        

        //4. 알림창을 화면에 표시한다.

        self.present(alert, animated: false)

        


    }



}




//

//  ContentViewController.swift

//  AlertCustom1

//

//  Created by MacBookPro on 2018. 1. 3..

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

//


import UIKit


class ControlViewController: UIViewController {


    //외부에서 객체를 참조하기 위해서 빼 놨음

    let slider = UISlider()

    

    //슬라이더 객체의 값을 읽어 반환하는 역할로 정의된 연산 프로퍼티

    //읽기전용이라서 set 생략가능,

    var sliderValue: Float {

        

        return self.slider.value

    }

    

    override func viewDidLoad() {

        

        self.slider.minimumValue = 0

        self.slider.maximumValue = 100

        

        

        //슬라이더 영역과 크기 , 루트 뷰에 추가

        self.slider.frame = CGRect(x:0,y:0,width:170, height:30)

        self.view.addSubview(self.slider)

        

        //뷰 컨트롤러의 콘텐츠 사이즈를 지정해준다.

        self.preferredContentSize = CGSize(width: self.slider.frame.width, height: self.slider.frame.height + 10)

    }



}


반응형

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

ios 실전 앱 만들기 : 어떤 앱이 만들어 질까  (0) 2018.05.15
instagram like  (0) 2018.03.06
alert 커스텀 - 이미지  (0) 2018.01.03
alert 커스텀 - 지도 2  (0) 2018.01.03
alert 커스텀 - 지도1  (0) 2018.01.03

댓글