Swift UI - 1. basic guide

 SwiftUI - 1. basic guide


스위프트로 앱을 만들때는  view 들을 만들어서 그 아래에 속성들을 달고 view들을 배치해서 앱을 구성하게 된다. 

1) ContentView

앱의 기본이 되는 뷰다.  프로젝트를 새로 만들면 자동적으로 생성된다. 

SwiftUI를 임포트 하고 ContentView는 View를 상속받고 안에 body 가 있다.  그 아래에 여러 뷰들을 넣으면 화면에 배치가 된다.

import SwiftUI


struct ContentView: View {

    var body: some View {

        

        Text("hello")

            

    }

}


2) ContentView_Previews

코드의 미리보기를 보여준다. 안에 기본적으로 ContentView가 들어있으나 다른 View를 넣으면 해당 뷰의 미리보기를 보여준다.

struct ContentView_Previews: PreviewProvider {

    static var previews: some View {

        ContentView()

    }

}



















3) Text()

화면에 텍스트를 표시한다 ()안의 내용을 표시한다. 

 Int형을 출력 하려면 () 안에 "\(Int)" 를 넣어줘야 한다.

<설정>

크기 - .font(.system(size: )

굵기 - .fontWeight() .heavy, .bold 등등

글자 색 -  foregroundColor(.color)

라운드 주기 - cornerRadius(반지름)

프래임 지정하기 - frame(minWidth : , maxWidth : ,minHeight : , maxHeight : ) -> 프래임 크기 설정(숫자 or .infinity)

등등

struct ContentView: View {

    var body: some View {

        

        Text("hello")

            .font(.system(size : 50))

            .fontWeight(.bold)

            

    }

}
















4) Hstack & Stack

{} 안의 뷰들을 가로 또는 세로로 배치해 준다. 

<속성>

padding() : 해당 뷰의 상하좌우에 공백을 준다. 화면 오른쪽에 뜨는 임펙트창에서 공백을 줄 위치와 양을 입력해주면 자동으로 코드를 완성해준다. 

background(Color.color) : 배경에 color에 들어가는 색을 넣어준다.

.edgesIgnoringSafeArea(.all) : 화면의 코너부분까지도 다 체운다. 


struct ContentView: View {

    var body: some View {

        

        HStack{

            Text("Hello")

                .font(.system(size: 50))

        

            Text("안녕")

                .font(.system(size: 50))

        

            VStack{

                Text("world")

                    .font(.system(size: 30))

                Text("월드")

                    .font(.system(size: 30))

            }

            .padding(.all, 20.0)

            .background(Color.green)

          

        }

        .padding(.all, 10.0)

        .background(Color.red)

    }

}

















* 뷰를 따로 빼서 새롭게 만들어 준다음에 넣어 줄 수도 있다. 

struct ContentView: View {

    var body: some View {

        

        HStack{

            Text("Hello")

                .font(.system(size: 50))

        

            Text("안녕")

                .font(.system(size: 50))

        

            VStack{

               MyView()

            }

            .padding(.all, 20.0)

            .background(Color.green)

          

        }

        .padding(.all, 10.0)

        .background(Color.red)

    }

}



struct MyView: View{

    var body: some View{

        Text("world")

            .font(.system(size: 30))

        Text("월드")

            .font(.system(size: 30))

    }

}

위와 같이 코드를 짜도 동일하게 작동한다. 

아예 Swift파일을 새롭게 만들어서 불러와도 가능하다











댓글

이 블로그의 인기 게시물

Spring Boot 6. 계시판 프로젝트

Spring Boot 2. Maria 데이터베이스 & Spring Data JPA

Django 10. DB 연동