안녕하세요! Ick입니다. 오늘은 Frame과 Bounds의 차이에 대해 알아보려고 합니다. 저는 둘 다 코딩할 때 쓴 적이 있긴 한데... 비슷한 거 같지만 이름이 다르니 분명 다른 개념을 가지고 있을 거라 생각해서 한 번 정리해보려고 합니다. 우선 Frame과 Bounds 둘 다 UIView의 instance property입니다. 이 점을 생각하며 이 둘의 차이점을 알아보도록 하겠습니다. Frame, Bounds 정의 Frame은 공식문서에는 아래와 같이 설명되어 있습니다. SuperView의 좌표계에서 뷰의 위치와 크기를 나타내는 사각형이 frame이라고 하네요. Bounds는 공식문서에서 아래와 같이 설명되어 있습니다. 뷰의 자체 좌표계에서 위치와 크기를 나타내는 사각형이 bounds입니다. 즉..
안녕하세요! Ick입니다! 오늘은 스토리보드 없이 탭 바 컨트롤러를 만들어 뷰들을 제어하는 것을 해보려고 합니다. 스토리 보드 없이 앱을 개발하는 기본적인 세팅은 여기를 참고해주세요! 이 글은 저 링크의 세팅을 마쳤다고 가정하고 진행하겠습니다! 우선 탭 바 컨트롤러로 뷰들을 제어하기 위해서는 다음과 같은 것이 필요합니다. 1. 제어할 뷰들 2. 탭 바에 들어갈 요소 (UITabBarItem) 이번 글에서는 배경색을 다르게 한 두 개의 뷰를 만들어서 뷰들을 제어해보도록 하겠습니다. 이렇게 정말 간단하게 뷰 두 개를 만들어서 탭 바 컨트롤러로 제어해보겠습니다. SceneDelegate.swift로 가서 scene함수를 아래와 같이 수정합니다! 이대로 실행하면 아래와 같이 결과가 나오게 됩니다! 탭 바를 통해..
안녕하세요! Ick입니다~ 오늘은 OperationQueue를 사용하여 동시성 프로그래밍을 구현하는 것을 해보려고 합니다. 동시성 프로그램의 이론적인 내용은 여기를 참고해주세요! 우선 iOS에서 동시성 프로그래밍을 구현할 때 사용하는 큐에는 DispatchQueue와 OperationQueue가 있습니다. DispatchQueue의 사용법을 알고 싶으시다면 여기를 참고해주세요! 두 큐 모두 동시성 프로그래밍을 구현할 때 사용되지만 이번에 사용할 OperationQueue는 Operation이라는 객체로 작업이 수행됩니다. 또한 OperationQueue를 사용하면 작업 객체들 간 종속성을 부여하여 작업의 순서를 정해줄 수 있습니다! 이 두 가지가 가장 큰 차이점이라고 생각합니다! Operation객체를 ..
안녕하세요 Ick입니다! 오늘은 iOS에서 앱을 개발할 때 여러 개의 작업을 동시에 수행할 수 있도록 해주는 동시성 프로그래밍에 대해 알아보려고 합니다. 동시성 프로그램의 이론적인 내용은 여기를 참고해주세요! 이번 글에서는 동시성 프로그래밍을 직접 구현해보는 것만 해보려고 합니다! iOS에서 동시성 프로그래밍을 구현하기 위해서 Apple에서는 GCD라는 것을 만들어뒀습니다. 이는 직접 스레드를 만들어서 작업을 수행하는 것이 어렵고 문제를 발생할 수 도 있기 때문에, 시스템에서 자동으로 수행해주도록 해 준 것이라고 볼 수 있습니다! 저희는 이렇게 만들어진 GCD를 사용해서 동시성 프로그래밍을 할 수 있습니다! 그럼 사용해보기 전에 반드시 알아야 할 용어들만 간단하게 짚고 넘어가도록 하겠습니다. 동기(Syn..
안녕하세요 Ick입니다 ^~^ 오늘은 스토리보드 없이 테이블 뷰를 만들어 보는 것을 해보려고 합니다. 스토리 보드 없이 앱을 개발하는 기본적인 세팅은 여기를 참고해주세요! 이 글은 저 링크의 세팅을 마쳤다고 가정하고 진행하겠습니다! 우선 테이블 뷰를 사용하기 위해선 최소한으로 아래와 같은 것들이 필요합니다. 1. UITableView 2. UITableViewCell 3. UITableViewDataSource 이 세 개만 있으면 테이블 뷰를 사용할 수는 있습니다. 그럼 이 세 개만 가지고 테이블뷰를 만들어 보겠습니다!.! 그럼 아마 이 화면과 비슷한 화면일 거예요! 여기서 저는 UIViewController를 상속받는 클래스로 시작하려고 합니다. 사실 UITableViewController 클래스를 상..
안녕하세요 Ick입니다. 개인적으로 만들어보고 있는 프로젝트 진행 중에 사용자의 입력을 받을 때 나타나는 키보드가 화면을 가려버리는 현상이 나타나서... 한 번 고쳐본 것을 글로 남겨보려고 합니다! 한 번 해보니 정말 간단하더라구요! 먼저 키보드가 화면을 가려버리는 것부터 보도록 하겠습니다 ㅋㅋ 입력을 받으려고 TextField를 누르면 키보드가 나오긴 하는데 전송 버튼을 누를 수가 없어요 ㅜㅜ 키보드가 나타나거나 사라질 때 화면도 키보드의 사이즈만큼 올리고 내리면 이 문제를 해결할 수 있습니다! 그럼 키보드가 나타나가서 사라지는 것을 앱에게 어떻게 알려야 할까요? Notification을 사용하면 이러한 이벤트를 알릴 수 있습니다. 물론 이번에 사용할 키보드와 관련된 이벤트 말고도 엄청나게 많은 이벤트..
안녕하세요! 이번 글에서는 개인이 만든 iOS 앱에서 Firebase를 사용하기 위한 세팅을 해보려고 합니다. 여기서 Firebase란 백엔드를 쉽게 구현할 수 있도록 만들어주는 플랫폼이라고 보면 될 듯합니다. 앱 개발에는 크게 프런트엔드, 백엔드가 있는데요, 프론트엔드 같은 경우에는 간단히 말하면 앱에서 보여지는 화면이라고 이해하시면 됩니다. 백엔드는 사용자의 정보, 사용자에게 제공할 정보 등 DB관리 등 여러가지 정보를 처리하는 작업이라고 볼 수 있습니다. 이번에 사용할 Firebase는 프론트엔드, 백엔드 중 백엔드를 간단하게 구현할 수 있도록 해주는 플랫폼입니다! 그럼 이번 글에서는 iOS에서 Firebase를 어떻게 사용할 수 있게 세팅하는지 알아보도록 하겠습니다! 우선 Firebase 홈페이지..
안녕하세요! 이번 글에서는 저번글에 이어 사진 앱을 만들어볼 건데요, 이번에는 저번에 만든 사진 앱에서 조금 아쉬운 점을 수정해보려고 합니다. 저번에 구현한 화면을 보여드리며 이번에 수정할 아쉬운 점을 살펴보겠습니다! 이번에 수정할 아쉬운 점은 사진이 선택됐을 때 선택되었다는 것을 알 수 있게 이벤트를 주는 것과 휴지통 버튼이 아무것도 선택되지 않았을 때부터 활성화되어있는 것을 고쳐보도록 할게요. 우선 사진이 선택되었을 때 이벤트를 주는 작업부터 진행하겠습니다. 저희가 사용한 컬렉션 뷰의 델리게이트에는 셀이 선택되거나 선택 해제 되었을 때를 감지할 수 있는 메서드들이 있습니다. 이러한 메서드를 사용하여 다양한 작업을 할 수 있는데요, 이번에 할 작업들도 이를 활용하면 될 것 같습니다. 아 참고로 지금까지..
- Total
- Today
- Yesterday
- Publisher
- 동시성
- Xcode
- document
- pattern
- System
- 프로그래밍
- OS
- 앱개발
- design
- Combine
- 코딩테스트
- 백준
- 문법
- Swift
- operator
- OSTEP
- 코테
- dfs
- Apple
- operating
- DP
- 아이폰
- BFS
- IOS
- 자료구조
- 알고리즘
- mac
- 테이블뷰
- 스위프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |