๐ฑ iOS/UIKit
[UIKit] CustomDatePicker ๋ง๋ค๊ธฐ (3/3)
Rx๋ฅผ ๋ชจ๋ฅด์ ๋ค๋ฉด ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค ๐ฅน ๋๋์ด ๋ง์ง๋ง ๊ด๋ฌธ.. ๋ ,์์ ๊ด์ฐฐํ์ฌ ์ผ ์๋ฅผ ์ ํ์! ์ผ๋จ ๋๋ ์ง๊ธ ์ด๊ฑธ ๋ง๋๋ ์ค์ด๋ค ๋ ,์์ ์์กด์ฑ์ด ์์ง๋ง, '์ผ'์ ๋ ,์์ ์์กด์ฑ์ ๊ฐ์ง๊ฒ ๋๋ค. 1์์ 31์ผ๊น์ง, 2์์ 28์ผ๊น์ง ๋ญ์ด๋ฐ๊ฑฐ ~.. ๊ทธ๋์ '์ผ'์ ๋ ,์์ด ๋ฐ๋๋ฉด reset์ ํด์ฃผ์ด์ผ ํ๋ค. ์๋ฅผ๋ค์ด 2023๋ 1์31์ผ์ ๋ง๋ค์ด์ค ์ํ์์ '์'์ 2์๋ก ๋ฐ๊พธ๋ฉด 31์ผ์ ์๊ธฐ ๋๋ฌธ์!! ๊ทธ๋์ customPicker์์ ๋ญ๊ฐ๋ฅผ ์ ํํ์ ๋ ๊ด์ฐฐํ๋ ๋์์๊ฒ ์๋ ค์ค ์ ์๋๋ก Rx๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ ์ฉํ๋ค. (1/3)์์ ๋ง๋ค์๋ CustomPickerButton์ ์ถ๊ฐํ ๋ถ๋ถ! public class CustomPickerButton: UIButton { var change..
[UIKit] toast message ๋ง๋ค๊ธฐ
์ฑ์ ๋ง๋ค๋ค๋ณด๋ฉด toast msg๋ฅผ ๋์์ ์ ๋ณด๋ฅผ ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์์ฝ๊ฒ๋ iOS์๋ ๊ทธ๋ฐ ๊ธฐ๋ฅ์ด ์๋ค.. ์ง์ ๋ง๋ค์! ์ฐ์ UIView๋ฅผ ์์ํ๋ class๋ฅผ ๋ง๋ค์ด ์ค๋๋ค public class ToastMessage: UIView {} ์ ๋ ์๋ก ์ข ๋ฅ์ ํ ์คํธ ๋ฉ์ธ์ง๋ฅผ ๋ง๋ค๊ฑฐ์์ (x๋ ์ ์ธ) ๊ทธ๋์ ์ด๋ฐ ํ๋กํผํฐ์ enum์ด ํ์ํฉ๋๋ค public enum ToastType { case common, alert, info } var text = UILabel() var icon = UIImageView() var type : ToastType UI๋ ๊ฐ์ ์ทจํฅ๊ป ๋ง๋์๊ณ (์๋ต) ํ ์คํธ ๋ฉ์ธ์ง์ ํน์ง์ ์ ๊น ๋ด๋ค ์ฌ๋ผ์ง๋๊ฑฐ ์์์ ? ๊ทธ ๋ถ๋ถ์ ๊ตฌํํ๊ธฐ ์ํด animate๋ฅผ ์ฌ์ฉํ์ต๋๋ค an..
[UIKit] CustomDatePicker ๋ง๋ค๊ธฐ (2/3)
CustomPickerButton์ ๋ง๋ค์์ผ๋ DatePicker๋ก ์งํํด๋ณด์ ์๋ค์ํผ ๋๋ ์ด๊ฑธ ๋ง๋ค๊ธฐ๋ก ํ๋ค ๐ UI setting ๋ณ๊ฑฐ ์๋ค.. ๊ทธ๋ฅ ในใ UI setting code open class CustomDatePicker: UIView{ private var Titlelabel = UILabel() private var years = [String]() private var months = [String]() private var days = [String]() private let yearWidth : CGFloat = 126 private let monthWidth : CGFloat = 103 private let dayWidth : CGFloat = 103 private lazy ..
[UIKit] CustomDatePicker ๋ง๋ค๊ธฐ (1/3)
UIKit ๊ณต๋ถ๊ฒธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋์ค์ DatePicker๋ฅผ ์ปค์คํ ํด์ผ ํ๋ ์ํฉ๊ณผ ๋ง์ฃผํ๋ค. ๐ ๊ตฌํ๋ด์ฉ ์ผ๋จ ๊ธฐ๋ณธ ์ ๊ณต๋๋ DatePicker๋ฅผ ์ฌ์ฉํ ์๋ ์์๋ค ๊ทธ๋์ UIButton์ inputView์ pickerView๋ฅผ ๋ฃ์ด์ ๋ง๋ค๊ฒ์ด๋ค ์ผ๋ฐ์ ์ผ๋ก TextField์ inputView์ pickerView๋ฅผ ์ฌ์ฉํ๋๋ฐ ๋๋ TextField๊ฐ ํ์์์ด์ ๋์ฅ์ ์ ๊ฑธ์ด๋ณด๊ธฐ๋ก ํ๋ค.. ๐ UI setting ์์ ์ธ๊ธํ๋ CustomDatePicker์์ box ํ๋์ฉ์ CustomPickerButton์ด๋ผ๊ณ ํ๊ฒ ๋ค. // CustomPickerButton.swift public class CustomPickerButton: UIButton { private var uiView = UIV..
Passing Data (์ง์ ์ ๋ฌ๋ฐฉ์)
๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ์ฌ์ฏ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์๋ณด์ ! 1. instance property ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ์ ViewController ํ๋กํผํฐ์ ๊ฐ์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ์ property๋ฅผ ์ ์ธํ๊ณ , ๊ทธ property์ ๊ฐ์ UI์ ์ ์ฉํ๋ ์๋ฆฌ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ์ ViewController propertyDataViewController.swift var passingData = "" //์ฌ๊ธฐ์ ๋ฐ์ดํฐ ์ ๋ฌ๋ฐ์ ์์ @IBOutlet weak var setPassingData: UILabel! //์ฌ๊ธฐ์ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ ์ ์ฉ override func viewDidLoad() { super.viewDidLoad() setPassingData.text = passingData } ๋ฐ์ดํฐ๋ฅผ ..