//
// MyTextView.swift
// vitamde
//
// Created by devdepot on 2021/04/26.
//
import SwiftUI
struct MyTextView: View {
@State //어노테이션(값이 변경되면 자동으로 렌더링 된다.)
private var index: Int = 0
// 배경색 배열 준비
private let backgroundColors = [
Color.red,Color.yellow,Color.blue,Color.green,Color.orange
]
var body: some View{
VStack{
Spacer()
Text("배경 아이템 인덱스 \(self.index + 1)")
.font(.system(size: 30))
.fontWeight(.bold)
.frame(minWidth: 0,maxWidth:.infinity,minHeight: 0,maxHeight: .infinity)
Spacer()
}.background(backgroundColors[index])
.edgesIgnoringSafeArea(/*@START_MENU_TOKEN@*/.all/*@END_MENU_TOKEN@*/)
.onTapGesture {
print("배경아이템이 클릭 되었다.")
if( self.index == self.backgroundColors.count - 1){
self.index = 0
}else{
self.index += 1
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
MyTextView()
}
}
import SwiftUI
struct ContentView: View {
@State //어노테이션(값이 변경되면 자동으로 렌더링 된다.)
private var isActivated: Bool = false
var body: some View {
NavigationView{
VStack{
HStack{
MyVstackViewL()
MyVstackViewL()
MyVstackViewL()
}.padding(isActivated ? 50.0 : 10)
.background(isActivated ? Color.red : Color.black)
.onTapGesture
{
//애니메이션 함께
withAnimation {
print("Hstack이 클릭 되었다.")
self.isActivated.toggle()
}
//탭 제스처 추가
}
NavigationLink(destination: MyVstackViewL()){
Text("네비게이션")
}.padding(.top,50)
NavigationLink(destination: Text("호호")){
Text("호호로 이동 ")
.background(Color.orange)
.foregroundColor(.white)
.cornerRadius(30)
}.padding(.top,50)
NavigationLink(destination: MyTextView()){
Text("배경아이팀인덱스")
}.padding(.top,50)
}
}// Navigation
}
}
struct MyVstackViewL:View {
var body: some View{
VStack{
Text("1")
.fontWeight(.bold)
.font(.system(size: 60))
Text("2")
.fontWeight(.bold)
.font(.system(size: 60))
Text("3")
.fontWeight(.bold)
.font(.system(size: 60))
}.background(Color.yellow)
}
}
//struct ContentView_Previews: PreviewProvider {
// static var previews: some View {
// MyTextView()
// }
//}
'IOS > SwiftUI' 카테고리의 다른 글
(SwiftUI)07.Stack 정리 (0) | 2021.04.27 |
---|---|
(SwiftUI)06.CircleImage (0) | 2021.04.27 |
(SwiftUI)04.웹뷰 띄우기 (0) | 2021.04.27 |
(SwiftUI)03.바인딩 @Binding (0) | 2021.04.27 |
(SwiftUI)01. VStack,HStack (0) | 2021.04.26 |