반응형

UIKit 18

UIKit | iOS 13 Deprecated - UIApplication.shared.keyWindow

iOS 13부터 멀티 씬(Multi Scene) 지원이 추가되었기 때문에, keyWindow는 더 이상 정확한 현재 화면의 윈도우를 반환하지 않습니다. 이 코드에서는 ProgressHUD를 현재 활성화된 윈도우에 추가하기 위해 UIApplication.shared.keyWindow를 사용했습니다.해결 방법대신 다음과 같은 코드로 변경해야 합니다. if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene, let keyWindow = windowScene.windows.first(where: { $0.isKeyWindow }) { superView = keyWindow} 변경 사항 요약UIApplication..

UIKit 2024.12.10

iOS/Swift/UIKit | Storyboard 및 UIView - UILabel 글자 크기 자동 변경 Autoshrink

iOS에서 autoshrink는 주로 UILabel, UITextView, 또는 UIButton과 같은 텍스트 기반 UI 요소에 사용되는 속성으로, 텍스트가 해당 뷰의 크기나 제한된 공간을 넘을 경우 자동으로 텍스트 크기를 축소하여 공간에 맞게 표시되도록 합니다. 이를 통해 레이아웃의 유동성 있는 텍스트 처리가 가능해집니다.주요 속성Minimum Font Size (최소 폰트 크기):autoshrink가 작동할 때 텍스트가 줄어들 수 있는 최소 폰트 크기를 설정합니다.이 속성은 텍스트 크기가 너무 작아지는 것을 방지하고, 지정된 최소 크기 이하로 줄어들지 않도록 합니다.Adjusts Font Size To Fit Width (너비에 맞게 폰트 크기 조정):UILabel 또는 UIButton의 adjust..

UIKit 2024.12.06

UIKit | Content Hugging Priority 이해하기(가로 세로 레이아웃 조정)

오늘은 iOS 개발에서 자주 마주치는 Content Hugging Priority에 대해 이야기해보려고 합니다. 이 개념은 뷰의 크기 조정에 있어 꽤 중요한 역할을 하지만, 처음 접할 때는 조금 헷갈릴 수 있어요. 그래서 Content Hugging Priority가 뭔지, 그리고 언제 어떻게 사용해야 하는지 쉽게 설명해드리겠습니다.Content Hugging Priority란?Content Hugging Priority라는 건 말 그대로 뷰가 자신의 콘텐츠 크기를 "껴안고(hugging)" 유지하려는 우선순위(priority)를 의미해요. 뷰의 콘텐츠가 많거나 적더라도, 이 우선순위에 따라 그 뷰가 얼마나 자신의 크기를 고수할지를 결정하게 됩니다.예를 들어, UILabel을 생각해볼게요. 이 라벨에 긴..

UIKit 2024.08.10

iOS | GCD에 관하여 - 2

Dispatch Group    //DispatchGroup 객체를 생성let dispatchGroup = DispatchGroup()//그룹에 비동기 작업을 추가할 때 dispatchGroup.enter()를 호출dispatchGroup.enter()//작업 완료 알림 (leave)dispatchGroup.leave()//그룹 내 모든 작업 완료 시점에 후속 작업 실행 (notify)dispatchGroup.notify(queue: .main) { print("모든 작업 완료")} 예를 들어 카카오톡 사진첩의 여러 장의 사진과 동영상을 동시에 공유하게된다면DIspatchGroup을 사용할 수 있지 않을까 생각했습니다 장점개별 작업 완료도를 추적할 수 있는 점 단점그룹카운털르 수동으로 증가하거나 감..

UIKit 2024.07.16

iOS | GCD에 관하여 - 1

Thread, Task, Dispatch Queue, GCD Thread / TaskThread - 노동자Task - 일  스레드단일 스레드, Multi-Thread, 멀티 스레드, Multithreading, 멀티 스레딩www.ktword.co.kr 하나의 일을 절대 한 곳(main Thread)에서 처리하는건 무리가 있음iOS에서 작업을 한 곳에서 처리하는것 같이 보여도 사실상 OS가 분산처리를 하고 있기 때문에(dispatch queue)선입 선출로 빠져나갑니다 그래서GCD란 뭘까?다수의 스레드에 적절히 분배시키기 위해서 task들을 queue에 넣는것인데  Grand Centeral Dispatch스레드를 적절히 생성해서 분배해주는 방법이고GCD에서 사용하는 queue의 이름이 Dispatch Q..

UIKit 2024.07.15

Scene / App Life Cycle / Touch

iOS앱이 사실상 내부적으로는 복잡한 매커니즘을 가지고 있지만실제로 알지 못해도 사용자(개발자/디자이너 등) 쉽게 사용할 수 있습니다애플은 일반인들도 사용하기 쉽게 더 만들고 있다는게 확연히 느끼고 있습니다    일반인 보다 완벽하게 사용하기 위해서?내부적인 메커니즘 이해앱의 생명주기, 뷰컨트롤러의 생명주기, Drawing Cycle 화면의 터치위치 / 강도 터치OS 관리 -> 실행중인 앱의 런루프로 sender -> 어떤 함수로 실행할 지 판단   Window는 앱에 표시되는 Visible를 포함하고 있고뷰와 app object에 touch event를 전달하고 viewController와 상호작용해서 화면 회전을 처리하고 있습니다   UIResponder | Apple Developer Documen..

UIKit/구조 2024.07.12

UIKit | UITableView에 관하여

TabelView를 적용하기전공부를 하면 좋겠다고 생각해서 정리하게 되었습니다  UITableView 단일 열에 행을 사용하여 데이터를 표시하는 뷰그림으로 말하자면아래처럼 이렇게 한 줄로 표현한다라고 생각하면 됩니다 ____    Overview  iOS의 테이블 뷰는 vertical 스타일로 스크롤되는 행의 컨텐츠를 표시하고 있습니다테이블의 각 행은 앱의 한가지 컨텐츠를 포함하고 있습니다 연락처 앱각 연락처 이름을 별도의 행에 표시 설정 화면사용할 수 있는 설정 그룹을 표시하고 있습니다테이블 뷰를 구성하여 긴 목록의 행을 표시할 수 있고 관련된 섹션으로 나눠서 행을 그룹으로 만들어 표시하여육안으로 더 잘 보이게 만들 수 있습니다 테이블은 데이터가 아주 구조화되거나 계층적으로 구조화된 앱에서 사용하고 있..

UIKit 2024.07.03

UIKit | UIView 어떤식으로 동작되고 있는가?

안녕하세요 UIView에 대해서 궁금증이 생겨 튜터님에게 물어보고여러가지 답변을 받은 후 개인적으로 좀 더 공부를 하고 작성해두면 좋을것 같아작성하게 되었습니다 UIViewUIView는 iOS application 사용자 인터페이스를 구성하는 기본적인 구성 요소 중 하나입니다Type : Class뷰는 콘텐츠를 랜더링하고 모든 상호 작용에 대해서 처리하고 있습니다그리고 고정된 배경색을 표시하기 위해 인스턴스화 하고 사용할 수 있는 구현화 할 수 있는 클래스입니다그리고 그 외에도 정교한 오브젝트들도 그릴 수 있습니다Label, Image, Button ... 기타 인터페이스 요소를 표시하기에 적합합니다  UIView | Apple Developer DocumentationAn object that manag..

UIKit 2024.07.02
반응형