[UIKit / iOS / Swift] view.addSubview와 contentView.addSubview의 차이
OS/iOS2025. 1. 13. 15:19[UIKit / iOS / Swift] view.addSubview와 contentView.addSubview의 차이

view.addSubview일반적인 뷰 컨트롤러나 커스텀 뷰 클래스에서 사용됨뷰 컨트롤러의 루트 뷰 또는 커스텀 뷰의 서브뷰로 UI요소를 추가함UIViewController는 view라는 기본 프로퍼티를 가지며, 모든 UI 요소는 이 뷰에 추가하는 것이 기본.따라서 뷰 컨트롤러의 UI를 구성할 때는 view.addSubview를 사용하는 것이다.class ViewController: UIViewController { let tableView = UITableView() override func viewDidLoad() { super.viewDidLoad() view.addSubview(tableView) // view에 추가 }}   contentView.add..

[iOS / Swift] UINavigationBar를 구현해보자.
OS/iOS2025. 1. 8. 22:25[iOS / Swift] UINavigationBar를 구현해보자.

UINavigationBar란UINavigationBar란, 화면 상단에 위치하는 네비게이션 바를 나타내는 UI 요소.UINavigationController 없이도 독립적으로 사용할 수 있지만, 일반적으로 네비게이션 흐름을 관리할 때,UINavigationController와 함께 사용된다.이 문서에는 UINavigationBar를 직접 생성하고 뷰에 추가하여 사용자 정의한 네비게이션 바를 구성한다.  UINavigationBar를 구현해보자.UINavigationController를 사용중이지 않은 경우 1. Navigation Bar를 생성2. Navigation Item을 생성3. Navigation Bar에 Item 추가 위의 세가지 과정을 거치게 된다. 1. NavigationBar 생성//N..

[iOS / Swift] Then 라이브러리
OS/iOS2024. 12. 27. 16:19[iOS / Swift] Then 라이브러리

본 글을 읽기 전에, 먼저 SnapKit에 대해서 읽고 오면 이해하기 쉽다. [iOS / Swift] 라이브러리 SnapKit이란?SnapKit이란?Swift로 작성된 오토레이아웃을 간단하고 직관적으로 설정할 수 있도록 도와주는 라이브러리이다.Apple의 NSLayoutConstraint를 사용한 코드보다 훨씬 간결하고 읽기 쉬운 문법을 제공하고quaker.tistory.com  Then이란?Then은 Swift 프로젝트에서 객체를 간결하고 가독성 있게 초기화 할 수 있도록 도와주는 경량 라이브러리이다.보통 객체를 생성한 후 여러 속성을 설정해야 할 때 사용된다.SnapKit과 같은 다른 라이브러리와 함께 사용할 때 유용하다.  설치방법CocoaPods등 다른 방법도 있지만, 본문에서는  SPM(Swif..

[iOS / Swift] 라이브러리 SnapKit이란?
OS/iOS2024. 12. 24. 20:16[iOS / Swift] 라이브러리 SnapKit이란?

SnapKit이란?Swift로 작성된 오토레이아웃을 간단하고 직관적으로 설정할 수 있도록 도와주는 라이브러리이다.Apple의 NSLayoutConstraint를 사용한 코드보다 훨씬 간결하고 읽기 쉬운 문법을 제공하고 있다.코드베이스로 UI를 작성할때 매우 유용하며 주로 사용되는 라이브러리이다.  SnapKit의 설치방법이건 SPM(Swift Package Manager)를 이용한 설치 방법이다.다른 라이브러리를 추가할 때도 같은 방법으로 추가하면 된다.프로젝트를 클릭해주고,   좀 내리다보면, "Frameworks, Libraries, and Embedded Content"라는 탭이 있다.여기서 +를 눌러주고, 하단의 Add Other를 누른 후, Add Package Dependency 클릭.  그리..

[Swift / iOS] LaunchScreen 설정 (UIKit, Storyboard)
OS/iOS2024. 12. 16. 21:08[Swift / iOS] LaunchScreen 설정 (UIKit, Storyboard)

UIKit, Storyboard로 개발하면서 LaunchScreen을 설정해보자.(안드로이드에서는 Splash Screen이라고 부른다.) 생각보다 간단하다.SwiftUI가 아닌, Storyboard로 프로젝트를 생성하면, LaunchScreen.storyboard라는 파일이 생기게 되는데, 우리는 이것을 이용할 것이다. LaunchScreen.storyboard정적인 화면 단순히 이미지나 로고, Label 등으로 구성하려면LaunchScreen.storyboard라는 파일 안에, 이미지를 넣던, 단순 Label을 넣던 취향껏 구현해주면 된다.방법은 기존 Stroyboard로 UI를 구현할 때와 같은 방식이다. 단, 이렇게 구현하는 방식은 정적인 화면만 표시할 수 있다.동적인 화면, 애니메이션 등을 추가..

코드베이스 UI 작성을 위한 셋팅
OS/iOS2024. 11. 20. 16:51코드베이스 UI 작성을 위한 셋팅

코드베이스 UI스토리보드나 SwiftUI를 사용하지 않고 코드로 직접 UI를 구현하는 것을 말한다. 장점협업을 위해 깃허브에 올렸을때 가독성이 좋고 매우 깔끔하게 보기 좋다는 장점이 있다. 단점단점으로는 보면서 할 수가 없기 떄문에, 일일히 실행을 시켜줘야한다는 장점이 있다.  코드베이스로 코딩하기 위해 3가지 사항을 먼저 수행해 주어야 한다.우리는 Storyboard를 사용하지 않을 것이기 때문에, 이것과 관련된 연결을 모두 끊어주어야 한다.  1. Main.storyboard 제거   2. info.plist에서 Storyboard Name 부분 제거   3. 프로젝트를 누르고, Build settings로 이동한뒤 Main 검색, 그리고 제거  이제 스토리보드와의 연결은 완벽하게 끊어졌고, 시작점을..

[iOS] Stack View
OS/iOS2024. 11. 19. 21:13[iOS] Stack View

Stack View스택 뷰란, 뷰들이 스택으로 쌓여있는 형태의 뷰를 말한다.Vertical(수직), Horizontal(수평) 두가지의 스택 뷰가 있다.   Horizontal Stack View cmd + shift + L을 눌러서 stack을 검색하면 두가지 view가 나온다.  그리고 놓으면 여타 뷰들 처럼 그냥 흰색의 직사각형이 하나 생긴다.잘 안보이기 때문에, 배경색을 집어넣고  크기를 바꿔보자. 배경색은 오른쪽 인스펙터 영역에서, 크기는 Constraints에서 바꿔주도록 하겠다.  두가지 다 설정을 해주고 나면,   요런식으로 Vertical Stack View가 커졌다! 이제 이름처럼 stack을 해보자.똑같이 cmd + shift + L을 누르고, view 3개를 만들어서 Stack Vi..

Swift 디버깅
OS/iOS2024. 11. 15. 20:29Swift 디버깅

디버깅이란,프로그래밍 과정 중 발생하는 오류나 버그를 찾는 작업을 디버그라고 하고,디버그하는 과정을 디버깅이라고 한다.본 포스팅에서는 디버깅에서 사용되는 세가지 방법을 정리해보고자 한다.  Print문디버깅 중, 정확한 값이 출력되는지 알아보기 위해 Print문을 사용해서, 그 부분에서 출력되는 값을 알아보는 방법이다.func numberMaker() -> Int { return Int.random(in: 1...100)}let randomNumber = numberMaker()//print문으로 현재 어떤 값이 출력되고 있는지 확인.print("random number is \(randomNumber)")문자열 보간에 대한 글을 읽고 오면 이해가 쉽다. Swift 기본 문법 - 문자열 보간(Str..

[iOS] 앱 생명주기
OS/iOS2024. 11. 13. 21:14[iOS] 앱 생명주기

Unttached (= Not Running)앱을 실행중이지 않은 상태 Foreground Inactive앱을 실행핬지만 사용자로부터 이벤트를 받을 수 없는 상태앱을 완전히 활성화하기 이전 단계 Foreground Active앱을 실행했고 사용자로부터 이벤트를 받을 수 있는 상태.가장 일반적인 앱을 사용하고 있는 상태 Background 앱을 실행한 뒤 백그라운드로 넘어간 상태홈버튼을 눌러 밖으로 나갔을 때의 상태그래도 메모리에 올라가있는 상태이다.ex)음악, 유튜브 앱. 화면밖에서도 계속 재생중이다. Suspend백그라운드 상태에서 앱이 특별한 작업을 필요로 하지 않을 경우 접어드는 상태

[Stroyboard] 새로운 View Controller를 만들고 연결하기.
OS/iOS2024. 9. 18. 14:54[Stroyboard] 새로운 View Controller를 만들고 연결하기.

쉽게 말해서, 새로운 페이지를 만들고 싶다고 가정해보자.이 과정을 간단하게 설명하면1. 새로운 View Controller를 생성한다.2. 새로운 class를 만들고 연결한다. 끝. 직접 해보자.스토리보드에서 Cmd + Shift + L을 눌러 준 뒤, View Controller를 선택한다.그리고 빈칸에 드래그 앤 드롭. 그럼 왼쪽처럼 새로운 View Controller가 생성된다. 그리고 새로운 View Controller를 클릭. 그리고 왼쪽에서 IS Initial View Controller 체크박스를 클릭.  그럼 화살표가 새로운 View Controller로 옮겨졌다!이제 앱을 빌드하면, 기존의 View Controller 대신, 이 View Controller를 보여줄 것이다!하지만 여기다가..

image