일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IOS
- Navigation
- xcode
- 야곰아카데미
- 부트캠프
- UIResponder
- delegation
- roundingMode
- Structures and Classes
- Info.plist
- @available
- NotificationCenter
- 독서후기
- viewcontroller
- mvvm
- Failed to register bundle identifier
- Modality
- SWIFT
- 독후감
- 책후기
- SWIFTUI
- Mock
- 스타트업주니어로살아남기
- contentInset
- 아이폰
- Codegen
- 스위프트
- human interface guidelines
- View Life Cycle
- NumberFormatter
- Today
- Total
목록Software Engineering/iOS (76)
호댕의 iOS 개발

hitTest 일단 hitTest가 뭔지 살펴보자. Returns the farthest descendant of the receiver in the view hierarchy (including itself) that contains a specified point. 특정 위치에 터치가 되었을 때 view hierarchy에서 자신을 포함해 가장 먼 view를 반환하게 된다. (UIWindow부터 올라가면서 어떤 뷰가 눌렸는지 찾아가는 과정 override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if !isUserInteractionEnabled || isHidden || alpha 보라뷰 그렇다면 초록뷰의 subviews는..

애플의 '손쉬운 사용' 설정에 들어가면 'Larger Accessibility Sizes' 을 조절할 수 있다. 일단 Accessibility의 경우 모든 사람들이 애플의 디바이스를 편하게 사용할 수 있도록 지원하는 기능이다. '손쉬운 사용'(= Accessibility)의 경우 VoiceOver, Dynamic Type 등의 기능을 제공하고 있다. 이 중 'Larger Accessibility Sizes'의 경우 시력이 나쁜 사람들을 위해 글씨의 크기를 설정할 수 있는 곳이다. 만약 UI 요소가 adjustsFontForContentSizeCategory를 true로 해놓고 Font style을 system이 아닌 스타일 설정을 해놓았다면 'Larger Accessibility Sizes' 설정에 따라..

프로젝트에서 contentConfiguration을 통해 데이터를 넣어줬는데 이 방법은 iOS 14 이후로 지원하는 방식이었다. 즉, Deployment target을 낮추면 컴파일 오류가 발생했다. 그래서 일단 device의 OS 버전에 따라 다른 코드를 적용할 수 있도록 수정해주었다. if #available(iOS 14.0, *) { print("ios 14이상 메서드 불림") var content = cell.defaultContentConfiguration() content.image = UIImage(named: expositionItem.imageName) content.text = expositionItem.name content.secondaryText = expositionItem.sh..
JSON은 무엇일까? JSON은 Javascript Object Notation의 줄인 말이다. 그럼 분명 나는 Swift로 개발을 공부하고 있는데 왜 Javascript에서 객체를 표기하는 방법을 배워야 하는 것일까? 그 이유는 단순하다. 최근 JSON을 데이터를 전달하고 저장하는 대표적인 방법으로 사용하고 있기 때문이다. 컴퓨터의 데이터는 전부 0과 1로 구성이 되어 있는데, 컴퓨터 간에 데이터를 전달하려면 서로 0과 1을 해석하는 방식이 동일해야 한다. 그래서 HTML과 유사한 XML이라는 방식을 사용하기도 했다. 하지만 데이터를 주고 받을 때 사람도 보다 읽기 쉽도록 하길 원했고, 현재는 사람도 읽기 편한 JSON을 대부분 사용하게 되었다. JSON 데이터의 표기 방법 {} : 객체 (딕셔너리) ..

화면을 전환하려면 Storyboard에서 ctrl 키를 누르고 연결만 시켜주면 된다. 이후 Action segue를 원하는 방식으로 설정해주면된다. 예를 들어 버튼을 눌렀을 때 다음 화면으로 넘어가고 싶다면 버튼에서 ctrl 키를 누른 상태로 넘어가고 싶은 화면에 드래그해주면 되는 것이다. 하지만 스토리보드는 협업을 할 때 버전에 영향을 많이 받고, 동시에 하나의 스토리보드를 작업한다면 꼬여버리는 문제가 있다고 알고 있다. 따라서 현업에선 각자 작업을 하는 스토리보드를 따로 두고 있다고 들었다. 여기서 문제가 발생한다... 스토리보드 파일을 따로 두면 기존에 segue를 직접 연결시켜주는 방식은 사용할 수 없는 것이다... 그래서 이 땐 코드로 화면을 전환해줄 필요가 있다! 이전에 버튼을 예로 들었으니 ..

최근 프로젝트를 하면서 View Controller 간 데이터를 전달하는 방법에 대해 공부하고 있습니다. 아직 데이터 전달 방법을 하나씩 알아가고 있는 중이라 하나씩 정리를 해보도록 하겠습니다 ☺️ 일단 스토리보드에 View Controller 2개를 생성해주고 각각 본인의 ViewController 소스파일에 연결해주었습니다. 첫번째 뷰(초록색)의 텍스트 필드에 데이터를 입력하고, 데이터 전달 버튼을 누르면 두번째 뷰(주황색)의 Label에 전달되는 방식으로 구현해보겠습니다. // 첫번째 ViewController import UIKit class MainViewController: UIViewController { var text: String = "" @IBOutlet weak var textFie..

이 글은 아래 링크를 토대로 작성한 글입니다. https://learnappmaking.com/notification-center-how-to-swift/ How To: Using Notification Center In Swift NotificationCenter in Swift is useful for sending data from one part of your app to another. How does it work? Find out in this tutorial! learnappmaking.com 프로젝트에서 ViewController 간에 데이터를 전달하면서 NotificationCenter를 사용했다. 하지만 NotificationCenter에 대해 정확히 알고 있단 생각이 들지 않아 이 ..

우리는 코드를 설명할 때 다양한 방법을 사용할 수 있다. 보통 다음과 같은 방법을 사용할 것이다. 코드를 직접 보여주며 설명한다. 줄글로 설명한다. 도표를 사용해 설명한다. (시각화, 도식화, 추상화) UML은 여기서 3번에 해당하는 방법이다. 그렇다면 왜 UML을 언어라고 표현한 것일까? 그 이유는 바로 UML이 커뮤니케이션을 위해 구조화하고 양식화하는 방법이기 때문이다. UML은 시스템이 디자인 된 것을 표준화된 방식으로 도식화하는 것이다. 즉, 도식화를 활용하여 시스템이 어떻게 디자인했는지 전달(커뮤니케이션)하는 방법인 것이다. UML Diagrams는 크게 2가지로 구분할 수 있다. 그렇다면 구조 다이어그램과 행위 다이어그램에서 가장 대표적인 다이어그램을 하나씩 살펴보자. 구조 다이어그램 Clas..