Skip to content

piggyse/swift-pokergame

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

swift-pokergame

2주차 카드게임 만들기


학습목표

  • 화면 크기에 따라 뷰를 균등하게 분리해서 생성할 수 있다
  • 이미지 뷰에 content mode에 대해 학습하고 원하는 비율로 표시할 수 있다
  • 이미지를 배경에 패턴으로 추가할 수 있다
  • 코드로 뷰를 추가한 다음에, 추가학습으로 UIStackView에 대해 학습하고 뷰를 균등하게 나눠서 표시할 수 있다

학습 키워드

  • StatusBar: 화면의 상단 가장자리에 표시되며 시간, 이동통신사. 네트워크 상태와 같은 디바이스의 현재 상태에 대한 정보를 제공해줍니다.
    • HIG
    • 사람들은 status Bar의 형식이 바뀌면 혼란스러울 수 있다 -> 괜히 커스텀으로 status Bar를 건들이지 말기.
    • Status Bar Status에는 Light Status,Dark Status가 있다 앱 스타일에 맞추어서 적절히 조정하자. UIStatusBarStyle
    • Status bar의 배경은 투명해서 그 안에 있는 콘텐츠를 표시할 수 있게 된다. status bar를 읽을 수 있게 유지하고 콘텐츠가 상호작용 할 수 있다는 것을 암시 하지 말라.
    • 사용자가 미디어에 집중하려고 할때 방해를 해서는 안되므로 status Bar를 일시적으로 숨기기(Ex 전체화면..)
    • status bar를 영구적으로 숨겨서는 안된다. 이용자들이 간단하고 쉬운 제스처로 숨겨진 status bar를 표시하도록 해야한다.
    • status bar를 이용해서 네트워크 활동을 나타낸다. 스크린샷 2022-02-21 오전 11 03 42

-Frame : Super View좌표계에서 View의 위치와 크기를 나타낸다
-Bounds: 자신의 좌표계에서 View의 위치와 크기를 나타낸다.
Frame vs Bound

  • 앱 기본 설정을 지정해서 StatusBar 스타일을 LightContent로 보이도록 한다.

앱의 기본설정으로 가서 statusBar Style을 Light content로 바꾸어보았다. 스크린샷 2022-02-21 오전 11 14 04

하지만..여전히 StatusBar는 똑같이 검은색이었고 ViewController에 밑과같이 함수를 재정의 하니 성공적으로 실행이 됬다.(UIStatusBarStyle은 get only라 viewDidLoad같은데서 값을 바꾸려하면 에러가뜸.)

스크린샷 2022-02-21 오후 12 28 13

  • ViewController 클래스에서 self.view 배경을 정해진 이미지 패턴으로 지정한다. 이미지 파일은 Assets에 추가한다.
  • 배경을 설정하는 것이지만 BackgroundColor에 지정을 해주어야하고 이는 곧 UIColor를 넣어야하는 것이기에 네이밍에 주의한다
    • 코드
      스크린샷 2022-02-21 오후 12 14 25
      스크린샷 2022-02-21 오후 12 14 54

    • 구현화면

스크린샷 2022-02-21 오후 12 29 47

  • 다음 카드 뒷면 이미지를 다운로드해서 프로젝트 Assets.xcassets에 추가한다.

  • ViewController 클래스에서 코드로 7개 UIImageView를 생성하고, 추가해서 카드 뒷면을 보여준다

  • 화면 크기를 구하고 균등하게 7등분해서 이미지를 표시해야 한다

  • 카드 가로와 세로 비율은 1:1.27로 지정한다

    1. 화면의 가로길이를 구하기 위해 self.view.frame.width 명령어를 print해보니 390.0이라는 수치가 나왔다. braek point를 이용해서도 구해봤다.

    스크린샷 2022-02-21 오후 4 37 27

    1. 코드로 작성해야기 때문에 imageView를 만들고 그안에 image를 넣는 밑과 같은 코드를 7개 만든다. 스크린샷 2022-02-21 오후 5 17 14

    2. 위에서 구한 값이 390.0이니 나누기 7대신 8을 함으로써 이미지들 사이에 공백을 만들도록 한다.

    3. 밑과 같은 constraint를 설정하는 함수를 구한하고 viewDidLoad에서 호출한다.

    스크린샷 2022-02-21 오후 5 18 29

  • 결과 스크린샷 2022-02-21 오후 5 21 01

  • 추가 학습거리

    • 앱 기본 설정(Info.plist)을 변경하는 방식에 대해 학습하고 앱 표시 이름을 변경한다.
      스크린샷 2022-02-21 오후 4 37 27

    • 프로젝트의 Assets.xcassets 안의 json알아보기

    스크린샷 2022-02-21 오전 11 45 26 이런 Asset을 가지고 있다고 했을때 프로젝트안에 들어가보면 이런식으로 폴더로 구분이 되어있고 Json파일이 생겨있음을 알수 있다.

    스크린샷 2022-02-21 오전 11 46 19
    폴더들은 그렇다 쳐도 Json파일들은 대체 뭘까? 현재 Asset에 있는 이미지들의 상황을 나타내준다
    예를들어 card_back이라는 이미지의 폴더의 json을 열어보면 현재 이미지가 x3에 세팅이 되어있음을 알수있는 것이다
    심지어 실시간으로 바뀌기 때문에 만약 xcode에서 내가 이미지를 x1으로 세팅하면..

    JSON파일도 바로 바뀌는 걸 볼수 있다. 스크린샷 2022-02-21 오전 11 49 46

About

2주차 카드게임 프로젝트 저장소

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published