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 |
댓글