전체 글 45

Stack (with Swift)

Stack은 한국말로 '쌓다' 라는 뜻을 가지고 있습니다. Data Structure에서의 Stack도 개념적으로 실세계의 Stack의 의미와 동일합니다. 어떤 물건을 쌓을때는 위에다가 차곡차곡 쌓습니다. 무거운 20KG짜리 원판을 쌓아올린다고 생각해 봅시다. 20KG 원판을 쌓을때는 제일 바닥에서 부터 쌓아올립니다. 그렇다면 원판을 제거할 때에는 어떻게 할까요? 🧐 바로 이렇게 위에서 부터 제거할 수 있습니다. Data Structure에서의 Stack 또한 이러한 역할을 하게 됩니다. 그리고 이러한 구조를 LIFO (Last-In First-Out)이라고 표현할 수도 있습니다. DataStructure에서의 Stack에서는 아래에서 부터 차곡차곡 어떠한 요소를 쌓는 과정을 Push라고 하고, 위에서 ..

Data Structure 2020.12.10

Auto Layout (Constraints)

View와 View사이에 Constraints를 주어 설정해 보자! Contstraints는 View와 View사이의 관계를 정의해 줍니다. 스토리 보드에서 설정하는 방법부터 알아보겠습니다, 🧑🏻‍💻 스토리보드의 우측 하단에 Add New Constraints가 있습니다. 여기서 다양한 Constraints 설정을 해줄 수 있습니다. 이 Auto Layout은 이렇게 계산될 수 있습니다. Attribute는 Top, Bottom, Leading, Trailing같은 것을 뜻하고, Multiplier는 비율, Constant는 간격을 뜻합니다. 그림으로 보겠습니다. 이 그림에서 저 빨간색 간격 부분이 20이라고 하면 공식을 나타내면 다음과 같습니다. View.top = 1 x SuperView.top + ..

iOS 2020.12.08

AutoLayout Storyboard (Stack View를 활용한 간단한 오토레이아웃!)

iOS 에는 다양한 기기들이 존재합니다. iPhone11, 12처럼 notch가 있다거나, iPhone 8 처럼 없는 형식, 그리고 iPad도 존재합니다. 이러한 다양한 기기에 맞춰 따로따로 레이아웃을 설정해주고, 계산하기에는 너무 오랜시간이 걸릴 것 입니다. 그래서! 다양한 기기의 화면에 대응하기 위해 만들어진 Layout 엔진을 AutoLayout이라고 합니다. AutoLayout을 좀 더 깔끔하게 구현하기 위해 StackView라는 것이 존재합니다. StackView는 아래와 같이 두가지가 존재합니다. 가로로 나란히 놓을 수 있는 Horizontal Stack View, 세로로 나란히 놓을 수 있는 Vertical Stack View가 존재합니다. 위의 그림에는 어떠한 Stack View들이 사용되..

iOS 2020.12.07

UIGestureRecognizer (Swipe, Pan, ScreenEdgePan, Long Press)

UISwipeGestureRecognizer class UISwipeGestureRecognizer : UIGestureRecognizer UISwipeGestureRecognizer는 원하는 Swipe Gesture를 만들어 줘야 합니다. 예를들면 다음과 같이 작성할 수 있습니다. let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeRight(_:))) swipeRight.direction = .right 전체적인 코드를 작성해 보면 다음과 같습니다. @IBOutlet var swipeView: UIView! override func viewDidLoad() { super.viewDidLoad() let..

iOS 2020.12.05

UIGestureRecognizer (Tap, Pinch, Rotation)

class UIGestureRecognizer : NSObject Gesture Recognizer Object 또는 Gesture Recognizer라는 것은 일련의 터치를 인식하고, 그 인식에 대한 어떠한 동작을 하는 객체입니다. 이 객체가 일련된 Gesture나, Gesture의 변경을 인식하면, 지정된 Target Object로 action message를 보내줍니다. UIGestureRecognizer의 Subclass는 다음과 같은 class가 존재합니다. UITapGestureRecognizer UIPinchGestureRecognizer UIRotationGestureRecognizer UISwipeGestureRecognizer UIPanGestureRecognizer UIScreenEd..

iOS 2020.12.03