저번 강의에서 배치한 to-do-list만 가지고는, 매력적인 앱이라고 할 수 없습니다.
오늘 해야할 것은 SwiftUI에 내장되어 있는 Modifiers를 통해 앱에 '매력'을 추가할 것입니다.
modifier를 통해 기본적인 Text View가 Style을 갖게 되었습니다.
하지만 이때 꼭 염두해야 하는 것은, 해당 Style들은 누적되는 것이 아니라 독립적으로 부여됩니다.
캡처한 이미지를 예로 들자면, Text에 opacity(0.5) modifier를 통해 투명도가 0.5가 되었습니다. 그 후, border modifier를 통해 테두리가 생겼는데, 이 때 테두리는 투명도과 관련이 없습니다.
하지만 순서는 중요합니다.
만약, border modifier가 먼저 나오고 opacity가 후에 추가된다면, border 역시 투명도를 가지게 됩니다.
이제 Xcode에서 실제로 modifier를 추가해 봅시다.
View를 추가할 때와 동일하게 +를 클릭한 후 2번째 탭을 클릭합니다.
그리고 원하는 modifier를 찾아, 원하는 view에 적용합니다.
struct ContentView: View {
var body: some View {
VStack {
Text("PUT THE BULLSEYE \nAS CLOSE AS YOU CAN DO\n🤪").bold().multilineTextAlignment(.center)
.lineSpacing(4.0)
.font(.footnote)
원하는 Modifier를 정확히 모를 때에는 Preview 우측에 있는 버튼을 클릭하여 시현해볼 수 있습니다.
오류가 나거나, 개념에 대해 잘 모를 때, Help 탭에 있는 'Developer Documentation'을 클릭하거나 해당 단축키를 눌러 문서를 확인하는 것도 도움이 될 수 있습니다.
해당 문서에는 특정 modifier가 적용되는 범위에 대해 알려줍니다.
그렇기 때문에,
Modifier의 위치가 중요합니다.
struct ContentView: View {
var body: some View {
VStack {
Text("PUT THE BULLSEYE \nAS CLOSE AS YOU CAN DO\n🤪").bold().multilineTextAlignment(.center)
.lineSpacing(4.0)
.font(.footnote)
.kerning(2.0) //여기에 위치하게 되면, 오류가 발생
Kerning은 위에 보다시피, Text View에게만 동작하는 Modifier이기에 해당 위치에 놓이면 오류가 발생합니다.
올바른 위치는 다음과 같습니다.
struct ContentView: View {
var body: some View {
VStack {
Text("PUT THE BULLSEYE \nAS CLOSE AS YOU CAN DO\n🤪")
.bold()
.kerning(2.0) // <<이곳이 올바른 위치
.multilineTextAlignment(.center)
.lineSpacing(4.0)
.font(.footnote)
앞으로 유용하게 쓰일 단축키 입니다.
'swift' 카테고리의 다른 글
iOS 앱 개발 : ViewController (0) | 2021.05.11 |
---|---|
SwiftUI로 나만의 앱 만들기 3 : Objects, Data, and Methods (0) | 2021.04.28 |
SwiftUI로 나만의 앱 만들기 2 : SwiftUI Views (0) | 2021.04.27 |
SwiftUI로 나만의 앱 만들기 1 : MVP와 Nice to Haves (0) | 2021.04.26 |
SwiftUI와 UIKit (0) | 2021.04.26 |
댓글