본문 바로가기
728x90
반응형

공부92

[UIKit] TabBar 숨기기 및 보이기(feat. animation) 일단 이글의 발단은 이전글인 탭바와 네비게이션뷰 동시에 적용하기 에서 시작됩니다. 현재 만들고 있는 앱에서 탭바와 네비게이션뷰를 동시에 구현하는데에는 성공했습니다.하지만 버튼을 눌렀을때 다른 뷰컨으로 스토리보드를 전환하면서 탭바가 남아있더라구요?그래서 탭바를 숨기는 방법을 알아봤습니다. 탭바 숨기기매우 쉽습니다. 스토리보드상에서도 옆에 Inspector에서 할수있다고 합니다그렇지만 우린 항상 숨겨놓고 싶은게 아니니까,다시말해 특정 상황에서만 작동하도록 하고싶으니까 코드로 적용해봅시다.tabBarController?.tabBar.isHidden = true간단합니다. 위의 코드를 실행하고싶은 메소드안에 적으면 해당 메소드가 실행될때 바로 숨겨지겠죠? 근데 이제 애니메이션을 곁들인이제 이게 좀 복잡하게 느껴.. 2023. 10. 27.
[스위프트] UIKit TabBar, NavigationController 한번에 적용하기 현재 만들고 있는 프로젝트의 초기 단계에서 일단은 ui를 구현하고 있는데탭바와 내비게이션 컨트롤러를 한 번에 쓰고 싶더라고요 그래서 뻘짓 잠깐 하고 바로 검색해 보니 나오더군요tabBarController를 적용한 뒤 navigationConrtroller를 적용하면 됩니다. 1. 뷰컨트롤러를 선택합니다.2. Embed In을 누르고 Tab Bar controller를 누르고 그다음 다시 적용하려는 뷰컨트롤러를 선택합니다.3. 마지막으로 Navigation Controller를 눌러 적용시킵니다.그러면 이렇게 초기 진입점이 Tab Bar Controller에 생기고 그다음 Navigation Controller에 연결되고 그게 다시 View Controller에 연결되는 것을 볼 수 있습니다. 여기서 탭.. 2023. 10. 26.
[UIKit] ViewController의 생명주기 이번에는 우리가 UIKit으로 앱을 만들 때 가장 많이 사용하는 ViewController(이하 뷰컨트롤러)의 생명주기를 알아봅시다.모든 뷰컨트롤러는 생명주기를 같는데요, 생명주기라 하면 뭐지 싶을수도 있지만 쉽게 말해 생성부터 사라지는 때까지를 통칭 생명주기라 합니다. 생명주기는 크게보면 생성, 화면에 나옴, 사라짐 이렇게 세가지 이고 이것을 세분화해서 총 8가지로 나눕니다.그리고 이들은 각각 메소드로 쓰이기도 하죠.그렇다면 각각의 생명주기가 어떻게 다른지 한번 알아봅시다. init()init은 간단합니다. 이 뷰 컨트롤러(클래스)가 처음에 생겨날 때(뷰 컨트롤러의 객체가 생성될 때) 호출되는 메소드입니다.이때는 아직 뷰가 생성되기 전이라 뷰 요소들에 접근할 수 없습니다. loadView()우선 loa.. 2023. 10. 25.
[스위프트] MVVM 패턴 기존의 MVC패턴 MVVM패턴은 앞서 나왔던 MVC패턴과 같은 디자인 패턴의 한 종류이다. 우리가 앞서 알아봤던 MVC패턴은 Model(데이터), View(화면), Controller(제어) 이렇게 세가지의 구성으로 이루어져 있다. 하지만 실제로 작성해보면서 알겠지만 model을 제외한 view와 controller가 한개의 파일안에서 전부 이루어지고, 또한 이 둘이 매우 긴밀하게 접해있다. (물론 최대한 안그렇게 작성할 수 있겠다만 대부분은 둘이 서로 이미 어떻게 동작하는지 아는 것처럼 작성이 된다.) 그렇다 보니 MVC패턴은 controller가 덩치가 커지게 되고(데이터 받아오랴, 뷰 뿌려주랴, 내부 로직 돌리랴..) Massive View Controller라는 별명까지 생기게 된다. 그래서 이를.. 2023. 10. 17.
[스위프트] URLSession열고 데이터 받아와서 테이블뷰로 넘겨주고 테이블뷰에 데이터를 넣어서 보여주기 - 2 여기서부턴 제가 만든 파일에 있는 내용을 그대로 갖다쓰겠습니다. 앞에서나 이 블로그의 다른곳에 써놓지 않아 이해가 잘 안될수도 있습니다. 1. performRequest 함수 완성 앞서 작성한 performRequest 함수를 완성합니다. func performRequest(urlString: String) { if let url = URL(string: urlString) { let session = URLSession(configuration: .default) let task = session.dataTask(with: url) { (data, response, error) in if error != nil { print(error) } if let safeData = data { ViewContr.. 2023. 9. 24.
[스위프트] URLSession열고 데이터 받아와서 테이블뷰로 넘겨주고 테이블뷰에 데이터를 넣어서 보여주기 - 1 날씨앱을 만들어보는 중인데 정말 여기저기 삽질을 많이 했다... 나같이 고생하는 사람이 없길 바라며 적어본다. 어체는 와리가리합니다잉 참고로 이 글은 OpenWeatherAPI를 이용한 글이며 가끔 왜 없는 내용이 튀어나오지? 할수있는데 그건 이미 제가 구조체를 만들어놨거나 다른데에 선언해놓은 내용을 그대로 적어놓은것이라 써있을 수 있습니다.(그게 갑자기 튀어나온다해서 이해를 못할 부분도 아니기도 하고 설명도 간략하게 적어놓을거에요. 쭉 읽어보시면 이해될겁니다.) 1. url세션으로 데이터 받아오기 우선 NetworkManager.swift를 만들고 여기안에서 url세션을 만들어 주고 데이터를 받아오는 performRequest(urlString: String) -> Void 함수를 만든다. func p.. 2023. 9. 19.
728x90
반응형