ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ๋ก์ ํธ TipKit ๋์ ๋ฐฐ๊ฒฝ
์ด๋ฒ ํ๋ก์ ํธ๋ ์ฃผ์ ์ ์ ๋ถํฐ ๋์์ธ, ๊ฐ๋ฐ๊น์ง ํผ์ ์งํํ์ต๋๋ค.
์ด ์ฑ์ ๋งค์ผ ๋ฐค, ๋ฌ์ ์ฐ์ผ๋ฉฐ ํ๋ฃจ๋ฅผ ์ ๋ฆฌํ๋ '๋ฌ ์ฌ์ง ๋ค์ด์ด๋ฆฌ ์ฑ'์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ TipKit์ ๋์ ํ๊ฒ ๋์์๊น์?

ํด๋น ์ด์ ๋
๋์์ธ ๊ณผ์ ์์ ๋ฌ ๋ชจ์์ ์ด๋ฏธ์ง๋ฅผ ๋ฒํผ์ผ๋ก ์ฌ์ฉํ๊ธฐ๋ก ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด ์ปค์คํ ๋ฒํผ์ ์๊ฐ์ ์ผ๋ก '๋ฌ'์ด๋ผ๋ ์ปจ์ ์ ์ ๋ฐ์ํ๋ค๊ณ ์๊ฐํ์ง๋ง,
์ฌ์ฉ์๋ค์ด ์ด๋ฅผ ์ฝ๊ฒ ๋ฒํผ์ผ๋ก ์ธ์ํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ธฐ๋ณธ ์ปดํฌ๋ํธ๋ก์ ๋ณ๊ฒฝ์ด๋ ๋ค๋ฅธ ๋ฒํผ ์ด๋ฏธ์ง์ ์ฌ์ฉ๋ ๊ณ ๋ คํด๋ดค์ง๋ง,
๊ธฐ์กด์ ๋ฒํผ์ ์ ์งํ๊ณ ์ ๋ค๋ฅธ ๋ฐฉ์์ ๋ชจ์ํ์ต๋๋ค.
(์ ๊ฐ ๋ง๋ ๋ฌ ๋ฒํผ์ ํฌ๊ธฐํ๊ณ ์ถ์ง ์์์ด์ ๐ฅฒ)
๊ทธ๋ฌ๋ ์ค TipKit์ด๋ผ๋ ์๋ก์ด ํ๋ ์์ํฌ๋ฅผ ๋ฐ๊ฒฌํ๊ณ , ํด๋น ํ๋ ์์ํฌ๋ iOS 17 ๋ฒ์ ์ด์์ ์๊ตฌํฉ๋๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ iOS ๋ฒ์ ์ ํฌ๊ฒ ๊ณ ๋ คํ์ง ์์๋ ๋๋ ์ํฉ์ด๊ธฐ์ TipKit์ ๋์ ํ๊ธฐ์ ์ ํฉํ์ต๋๋ค.

์ด์ TipKit์ด ๋ฌด์์ธ์ง์ ์ด๋ป๊ฒ ํ์ฉํ๋์ง ๊ฐ๋ตํ ์๊ฐํ๊ฒ ์ต๋๋ค.
WWDC 2023: TipKit ์๊ฐ
WWDC 2023์์ ์๋กญ๊ฒ ์๊ฐ๋ ํ๋ ์์ํฌ์ธ TipKit์ ์ฑ ์ฌ์ฉ์์๊ฒ ํ์ํ ํ์ ์ฝ๊ฒ ์ ๊ณตํ ์ ์๋๋ก ๋์ต๋๋ค.
์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด, ์ํฉ์ ๋ฐ๋ผ ์์ฝ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฌํ ์ ์์ต๋๋ค.

์ ๋ ์ด ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ์ฑ ๋ด์ ๋ฌ ๋ชจ์ ์ด๋ฏธ์ง๊ฐ ์ค์ ๋ก ๋ฒํผ์์ ์ฌ์ฉ์์๊ฒ ๋ช ํํ ์๋ฆฌ๊ณ ์ ํ์ต๋๋ค.
์ฌ์ฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
์ฐ์ Tip ํ๋กํ ์ฝ์ ๊ตฌํํ๊ณ , ์ํ๋ ์ ๋ชฉ(title), ๋ฉ์์ง(message), ์ด๋ฏธ์ง(image)๋ฅผ ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
์ ๋ชฉ์ ํ์๋ก ๊ตฌํํด์ผ ํ๋ฉฐ, ๋ฉ์์ง์ ์ด๋ฏธ์ง๋ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
// ์์
struct FavoriteTip: Tip {
var title: Text {
Text("Save as a Favorite")
}
var message: Text? {
Text("Your favorite backyards always appear at the top of the list.")
}
var image: Image? {
Image(systemName: "star")
}
}
Tip์ด ๋ณด์ฌ์ง๋ ์กฐ๊ฑด์ ์ค์ ํ๋ ค๋ฉด rules ํ๋กํผํฐ๋ฅผ,
Tip์ ํ์ ์๊ฐ์ด๋ ์ต๋ ํ์ ํ์ ๊ฐ์ ์ต์ ์ ์กฐ์ ํ๋ ค๋ฉด options ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค
Tip | Apple Developer Documentation
Tips.Rule | Apple Developer Documentation
๋ด ์ฑ์ TipKit ์ ์ฉํ๊ธฐ
์ ์ฑ์์๋ ๋ฌ ๋ชจ์ ๋ฒํผ์ ๊ธฐ๋ฅ์ ์ค๋ช ํ๋ ๊ฐ๋จํ ํ ์คํธ๋ง ํ์ํ์ต๋๋ค.
์ด๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ด title์ ๊ตฌํํ์ฌ TipKit์ ์ฌ์ฉํ์ต๋๋ค.
import TipKit
struct MoonButtonTip: Tip {
var title: Text {
Text("๋ฌ ์ฌ์ง ์ฐ๊ธฐ!")
}
var message: Text? {
Text("๋ฌ ์ฌ์ง์ ์ฐ์ด๋ณด์ธ์.")
}
}
Tip์ ์์ ์ฝ๋๋ก ์์ฑํ ํ, ์ฑ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ์ต๋๋ค.
์๋ ์ฝ๋๋ ์ฌ์ฉ์๊ฐ ์ฒ์ ์ฑ์ ์ฌ์ฉํ ๋ Tip์ด ๋ณด์ฌ์ง๋ฉฐ, ํ ๋ฒ๋ง ๋ํ๋๊ฒ ํฉ๋๋ค.
import TipKit
@main
struct Dal_DaApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.task {
try? Tips.configure([
.displayFrequency(.immediate),
.datastoreLocation(.applicationDefault)
])
}
}
}
}
๋ง์ง๋ง์ผ๋ก, Popover ํ์ ์ Tip์ ์ฌ์ฉํ์ฌ,
๋ค์๊ณผ ๊ฐ์ด View์์ ๋ฌ ์ด๋ฏธ์ง ๋ฒํผ์ ํ์ ๋ณด์ฌ์ฃผ๋๋ก ์ค์ ํ์ต๋๋ค.

// ์๋ต
private let moonButtonTip = MoonButtonTip()
// ์๋ต
NavigationLink {
CameraView()
} label: {
Image(Asset.moonButton.fileName)
}
.popoverTip(moonButtonTip)
์ถ๊ฐ๋ก Tip์ ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด Popoverํ์ ๊ณผ Inline ํ์ ์ ๊ฐ์ต๋๋ค.
์ํฉ์ ๋ฐ๋ผ ํ์ ์ ์ ํํด์ฃผ๋ฉด ๋ฉ๋๋ค.

๋ง๋ฌด๋ฆฌ(+ ์์ฌ์ด ์ )
TipKit์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฒ์ ์ ์ํ์ ๋
๋ฌ ์ด๋ฏธ์ง๊ฐ ๋ฒํผ์์ ์๋ ค์ฃผ๋ ํ์ ์ ๊ณตํ์ฌ ๋ฌ ๋ชจ์์ด ๋ฒํผ์์ ์ธ์ํ ์ ์๊ฒ ๋์์ฃผ์์ต๋๋ค.
TipKit์ ๋ค์ํ ์ค์ ์ ํตํด ํ์ ํ์ ์กฐ๊ฑด์ ์ธ๋ฐํ๊ฒ ์กฐ์ ํ ์ ์์ง๋ง,
์์ง๊น์ง Tip View๋ฅผ ๋ด๊ฐ ์ํ๋ ๋๋ก ์ปค์คํ ํด์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
์๋ฅผ๋ค์ด ํ๋ก์ ํธ์ ์ปจ์ ์ ๋ง๊ฒ background color๋ฅผ ๋ฐ๊ฟ์ฃผ๊ณ ์ถ์๋๋ฐ
์ฌ์ฉ์ ๋ชจ๋์ ๋ฐ๋ฅธ(๋ผ์ดํธ, ๋คํฌ ๋ชจ๋) ์์ ๋ณ๊ฒฝ๋ง ๊ฐ๋ฅํ์ต๋๋ค.
(ํน์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค๋ฉด ๊ด๋ จ ์๋ฃ๋ฅผ ์๋ ค์ฃผ์ธ์ ๐ฅฒ)
์ด๋ฒ ํฌ์คํ ์์๋ ์ ๊ฐ TipKit์ ์ ์ฌ์ฉํ๊ณ , ์ด๋ป๊ฒ ์ ์ฉํ๋์ง์ ๋ํด์๋ง ๊ฐ๋จํ ์๊ฐํ์ต๋๋ค.
๋ ์์ธํ ์ ๋ณด๋ฅผ ์ํ์๋ฉด WWDC ์์๊ณผ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์!
์๋ชป๋ ๋ด์ฉ์ด๋ ๊ถ๊ธํ์ ์ ์ด ์๋ค๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์. ๐ค
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๐ ์ฐธ๊ณ ์๋ฃ
TipKit | Apple Developer Documentation
Tip | Apple Developer Documentation
Make features discoverable with TipKit - WWDC23 - Videos - Apple Developer
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HIG Study] agoda ์ฑ์ผ๋ก ๊ณต๋ถํ๋ HIG (0) | 2024.06.07 |
---|---|
[iOS] Page view controller๋ฅผ Container View๋ก ์ฌ์ฉํ๋ฉฐ ๋ฐ์ํ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ (1) | 2024.01.14 |
Managing content in your appโs windows (0) | 2024.01.07 |
- Anyobject
- ํ
- 2023๋ ํ๊ณ
- ์์ด ๋ด์ค
- ์๋ฃ ๊ตฌ์กฐ
- Container View Controller
- ์์ด ๊ณต๋ถ
- ๊ท๋๋ผ๋ฏธ ์์ด
- containerView
- ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- C++
- ๊ท๋๋ผ๋ฏธ ์์ด
- ๊ณต๊ฐ ๋ณต์ก๋
- remainder
- ๊ดํธ์ ๊ฐ
- ๋ฒ์ฉ๊ณ ์ ์๋ณ
- ํ๊ณ
- ์คํ
- root view controller
- Swift
- 10808
- ์ํํธ์คํฌ
- BOJ
- 2024๋ ๋ชฉํ
- ๊ฐ๋ฐ์
- tipkit
- pageViewController
- ์ ํ์์นด๋ฐ๋ฏธ
- 24๋ ํ๊ณ
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- Total
- Today
- Yesterday