๋ณธ ๊ฒ์๊ธ์ edwith ๋ถ์คํธ์ฝ์ค iOS ํ๋ก๊ทธ๋๋ฐ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์์ฑํ ๊ฒ์๊ธ ์ ๋๋ค.
UIButton, UISlider, UILabel
์ ํ๋ฆฌ์ผ์ด์ ํ๋ฉด์ ๊ตฌํํ ๋ ์์ฃผ ์ฌ์ฉํ๋ UI์์๋ค์ด๋ค.
1. UIButton
์ฌ์ฉ์์ ์ํธ์์ฉ(ํฐ์น/ํญ ๋ฑ์ ์ด๋ฒคํธ)์ ๋ฐ์ํด ๋ฏธ๋ฆฌ ์ง์ ๋ ์ฝ๋๋ฅผ ์คํํ๋ ์ปจํธ๋กค ์์
๋ฒํผ ์์ฑ์ 3๋จ๊ณ
- ๋ฒํผ์ ์์ฑํ๊ณ ๋ฒํผ์ ์ ํ์ ์ ํ
- ๋ฒํผ์ ๋ํ๋ด๊ธฐ ์ํ ๋ฌธ์(ํ์ดํ)์ ์ ๋ ฅํ๊ฑฐ๋, ์ด๋ฏธ์ง๋ฅผ ์ค์ ํ ๋ค ํฌ๊ธฐ๋ฅผ ์กฐ์
- ๋ฒํผ์ ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์๋ํ ํ๋ ์ด์์ ๋ฉ์๋๋ฅผ ์ฐ๊ฒฐ
๋ฒํผ๊ณผ ๋ฉ์๋ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ
- addTarget(_:action:for:) ๋ฉ์๋ ์ฌ์ฉ
- ์ธํฐํ์ด์ค ๋น๋์์ ์ฐ๊ฒฐ (@IBAction)
์ด๋ ๋ฒํผ๊ณผ ์ฐ๊ฒฐ๋๋ ๋ฉ์๋ ํ์์ ์๋์ ๊ฐ๋ค.
func doSomething() func doSomething(sender: UIButton)
func doSomething(sender: UIButton, forEvent event: UIEvent)
๋ฒํผ์ ์ํ: default, highlighted, focused, selected, disabled
๋ฒํผ์ ์ํ๋ ์กฐํฉ๋ ์ํ์ผ ์ ์๋ค. ์) [default + highlighted], [selected + disabled] ๋ฑ๋ฑ
๋ฒํผ ์์ฑ ์ ๊ธฐ๋ณธ ์ํ ๊ฐ์ default์ด๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋ฒํผ๊ณผ ์ํธ์์ฉ์ ํ๋ฉด ์ํ ๊ฐ์ด ๋ณํ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์ ํน์ ์ธํฐํ์ด์ค ๋น๋๋ฅผ ์ด์ฉํด ๋ฒํผ์ ๊ฐ ์ํ์ ๋ํ ์์ฑ์ ๋ณ๋๋ก ์ง์ ํ ์ ์๋ค. ๋ง์ฝ ๋ณ๋๋ก ์์ฑ์ ์ง์ ํ์ง ์์ผ๋ฉด UIButton ํด๋์ค์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋์์ ์ฌ์ฉํ๊ฒ ๋๋ค.
์) disabled ๋ฒํผ์ ์ผ๋ฐ์ ์ผ๋ก ํ๋ฆฌ๊ฒ ํ์๋๋ฉฐ ์ฌ์ฉ์๊ฐ ํญ ํด๋ highlighted ๋์ง ์๋๋ค.
๋ฒํผ์ ํ๋กํผํฐ ๊ฐ์ ์ค์ ํ๋ ๋ฐฉ์์๋ ์ฝ๋๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์คํ ๋ฆฌ๋ณด๋์ ์ธ์คํฉํฐ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
enum UIButtonType: ๋ฒํผ์ ์ ํ
๋ฒํผ์ ์ ํ์ ๋ฐ๋ผ ๋ฒํผ์ ๊ธฐ๋ณธ์ ์ธ ์ธํ๊ณผ ๋์์ด ๋ฌ๋ผ์ง๋ค. ์ฒ์ ๋ฒํผ์ ์์ฑํ ๋
- init(type:) ๋ฉ์๋๋ฅผ ์ด์ฉ ํน์
- ์ธํฐํ์ด์ค๋น๋์ “Attribute Inspector”์์ ๋ฒํผ ์ ํ์ ์ง์ ํ ์ ์๋ค
์ด๋ ํ๋ฒ ์์ฑ๋ ๋ฒํผ์ ์ ํ์ ์ดํ ๋ณ๊ฒฝ ํ ์ ์์ผ๋ฉฐ, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์ ํ์ Custom๊ณผ System์ด์ง๋ง ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ํ(Detail Disclosure, Info Light, Info Dark, Add Contact)๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- var titleLabel: UILabel?: ๋ฒํผ ํ์ดํ ๋ ์ด๋ธ
- var imageView: UIImageView?: ๋ฒํผ์ ์ด๋ฏธ์ง ๋ทฐ
- var tintColor: UIColor!: ๋ฒํผ ํ์ดํ๊ณผ ์ด๋ฏธ์ง์ ํดํธ ์ปฌ๋ฌ
๋ฒํผ์ ์ฃผ์ ๋ฉ์๋
// ํน์ ์ํ์ ๋ฒํผ์ ๋ฌธ์์ด ์ค์
func setTitle(String?, for: UIControlState)
// ํน์ ์ํ์ ๋ฒํผ์ ๋ฌธ์์ด ๋ฐํ
func title(for: UIControlState) -> String?
// ํน์ ์ํ์ ๋ฒํผ ์ด๋ฏธ์ง ์ค์
func setImage(UIImage?, for: UIControlState)
// ํน์ ์ํ์ ๋ฒํผ ์ด๋ฏธ์ง ๋ฐํ
func image(for: UIControlState) -> UIImage?
// ํน์ ์ํ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง ์ค์
func setBackgroundImage(UIImage?, for: UIControlState)
// ํน์ ์ํ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง ๋ฐํ
func backgroundImage(for: UIControlState) -> UIImage?
// ํน์ ์ํ์ ๋ฌธ์์ด ์์ ์ค์
func setTitleColor(UIColor?, for: UIControlState)
// ํน์ ์ํ์ attributed ๋ฌธ์์ด ์ค์
func setAttributedTitle(NSAttributedString?, for: UIControlState)
2. UILabel
ํ์ค ๋๋ ์ฌ๋ฌ์ค์ ํ ์คํธ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ทฐ๋ก, UIButton๋ฑ์ ์ปจํธ๋กค์ ๋ชฉ์ ์ ์ค๋ช ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๋ ์ด๋ธ ์์ฑ์ 3๋จ๊ณ
- ๋ ์ด๋ธ์ ์์ฑ
- ๋ ์ด๋ธ์ด ํ์ํ ๋ฌธ์์ด์ ์ ๊ณต
- ๋ ์ด๋ธ์ ๋ชจ์ ๋ฐ ํน์ฑ์ ์ค์
3. UISlider
์ฐ์๋ ๊ฐ ์ค์์ ํน์ ๊ฐ์ ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ปจํธ๋กค
์ฌ๋ผ์ด๋ ์์ฑ์ 3๋จ๊ณ
- ์ฌ๋ผ์ด๋๋ฅผ ์์ฑํ๊ณ , ์ฌ๋ผ์ด๋๊ฐ ๋ํ๋ด๋ ๊ฐ์ ๋ฒ์๋ฅผ ์ง์
- ์ ์ ํ ์์๊ณผ ์ด๋ฏธ์ง๋ฅผ ์ด์ฉํด ์ฌ๋ผ์ด๋์ ๋ชจ์์ ๊ตฌ์ฑ
- ํ๋ ์ด์์ ๋ฉ์๋๋ฅผ ์ฌ๋ผ์ด๋์ ์ฐ๊ฒฐ
์ฌ์ฉ์ ์ํธ์์ฉ์ ๋ฐ์ํ๊ธฐ
์ฌ์ฉ์๊ฐ ์ฌ๋ผ์ด๋์ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ์ฌ๋ผ์ด๋์ ์ฐ๊ฒฐ๋ ๋ฉ์๋๊ฐ ํธ์ถ๋์ด ์ํ๋ ์์
์ด ์คํ
๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ฌ์ฉ์๊ฐ ์ฌ๋ผ์ด๋์ Thumb๋ฅผ ์ด๋์ํค๋ฉด ์ฐ์์ ์ผ๋ก ์ด๋ฒคํธ๋ฅผ ํธ์ถํ์ง๋ง, isContinous ํ๋กํผํฐ๊ฐ์ false๋ก ์ค์ ํ๋ฉด ์ฌ๋ผ์ด๋์ Thumb์์ ์์ ๋ผ๋ ๋์์ ์ด๋ฒคํธ๋ฅผ ํธ์ถ
์ฌ๋ผ์ด๋์ ๋ฉ์๋ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ
- addTarget(_:action:for:) ๋ฉ์๋ ์ฌ์ฉ
- ์ธํฐํ์ด์ค ๋น๋์์ ์ฐ๊ฒฐ (@IBAction)
์ฌ๋ผ์ด๋์ ์ฐ๊ฒฐํ๋ ๋ฉ์๋ ํ์
์ฌ๋ผ์ด๋์ ๊ฐ์ ๋ณ๊ฒฝํ์ ๋ ํ์ํ ์ ๋ณด์ ๋ฐ๋ผ ์๋ ์ธ ๊ฐ์ง ์ค ํ ๊ฐ์ง๋ฅผ ์ ํํ์ฌ ์ฌ์ฉ
func doSomething()
func doSomething(sender: UISlider)
func doSomething(sender: UISlider, forEvent event: UIEvent)
์ฌ๋ผ์ด๋ ์ฃผ์ ํ๋กํผํฐ
์ฌ๋ผ์ด๋์ ํ๋กํผํฐ ๊ฐ์ ์ค์ ํ๋ ๋ฐฉ์์๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์๊ณผ, ์คํ ๋ฆฌ๋ณด๋์ ์ธ์คํํฐ๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ด ์๋ค.
- var minimumValue: Float, var maximumValue: Float: ์ฌ๋ผ์ด๋ ์๋๋จ์ ๊ฐ
- var value: Float: ์ฌ๋ผ์ด๋์ ํ์ฌ ๊ฐ
- var isContinuous: Bool: ์ฌ๋ผ์ด๋์ ์ฐ์์ ์ธ ๊ฐ ๋ณํ์ ๋ฐ๋ผ ์ด๋ฒคํธ ์ญ์ ์ฐ์์ ์ผ๋ก ํธ์ถํ ๊ฒ์ธ์ง์ ์ฌ๋ถ
- var minimumValueImage: UIImage?, var maximumValueImage: UIImage?: ์ฌ๋ผ์ด๋ ์๋๋จ์ ์ด๋ฏธ์ง
- var thumbTintColor: UIColor?: thumb์ ํดํธ ์์
- var minimumTrackTintColor: UIColor?, var maximumTrackTintColor: UIColor?: thumb๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ชฝ ํธ๋๊ณผ ๋ค์ชฝ ํธ๋์ ํดํธ ์์
์ฌ๋ผ์ด๋ ์ฃผ์ ๋ฉ์๋
// ์ฌ๋ผ์ด๋์ ํ์ฌ ๊ฐ ์ค์
func setValue(Float, animated: Bool)
// ํน์ ์ํ์ minimumTrackImage ๋ฐํ
func minimumTrackImage(for: UIControlState) -> UIImage?
// ํน์ ์ํ์ minimumTrackImage ์ค์
func setMinimumTrackImage(UIImage?, for: UIControlState)
// ํน์ ์ํ์ maximumTrackImage ๋ฐํ
func maximumTrackImage(for: UIControlState) -> UIImage?
// ํน์ ์ํ์ minimumTrackImage ์ค์
func setMaximumTrackImage(UIImage?, for: UIControlState)
// ํน์ ์ํ์ thumbImage ๋ฐํ
func thumbImage(for: UIControlState) -> UIImage?
//ํน์ ์ํ์ thumbImage ์ค์
func setThumbImage(UIImage?, for: UIControlState)
'๐ฉ๐ปโ๐ป > iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
UIKit๋? (0) | 2020.07.12 |
---|---|
Cocoa Touch ํ๋ ์์ํฌ๋? (0) | 2020.07.08 |
AVFoundation, Timer๋? (0) | 2020.07.08 |
IBOutlet, IBAction์ด๋? (0) | 2020.06.26 |
์์ ์นดํ๋ก๊ทธ๋? (0) | 2020.06.26 |