SwiftUI: 목록 행(row) 및 헤더(header) 높이 변경

소개 이 예제는 SwiftUI List에서 행(row)과 헤더(header) 높이를 변경하는 방법을 보여줍니다. 최종 결과는 다음과 같습니다:   설명 defaultMinListRowHeight 라는 EnvironmentValue를 사용해서 기본 최소 행 높이를 설정할 수 있습니다. 마찬가지로 defaultMinListHeaderHeight를 사용하면 섹션 헤더의 높이를 지정할 수 있습니다. 아래 코드는 그룹화된 리스트에서 슬라이더로 두 값을 조절하는 예시입니다: // …SwiftUI View에서 작성… 더보기…

Swift: @retroactive 란?

Retroactive 란? 해당 경고는 Swift에서 retroactive conformance(기존 타입에 프로토콜을 채택시키는 것)를 사용할 때 나타나는 것으로, 나중에 AudioKit 라이브러리 자체에서 NodeParameter에 Hashable을 추가하게 되면 중복 충돌이 발생할 수 있음을 경고합니다. Extension declares a conformance of imported type ‘AVAudioUnitReverbPreset’ to imported protocol ‘CaseIterable’; this will not behave correctly if the owners of 더보기…

[펌/번역] Apple의 Liquid Glass 디자인 베타에 대한 피드백

소개 이번 WWDC25에서 새로운 컨셉의 Liquid Glass 디자인이 발표되었지만, 저는 아무래도 나이가 들어서인지 새로운 디자인이 잘 눈에 들어오지 않고 좋은 디자인이 아닌것 같다고 느꼈습니다. 여러 곳의 반응을 보니, 이렇게 생각하는건 저뿐만은 아니었던것 같습니다. 이번 새로운 디자인 컨셉에 대한 비판글이 여럿 있었고, 그 중 공유해도 좋을 것 같은 글을 가져왔습니다. 저는 더보기…

Swift: some, any 키워드

Swift의 some과 any 키워드 안녕하세요! 오늘은 Swift의 some과 any 키워드에 대해 실무에서 겪을 수 있는 상황들을 포함해 자세히 알아보겠습니다. 이 두 키워드는 프로토콜을 다룰 때 매우 중요한 역할을 하며, 각각 다른 상황에서 사용됩니다.   키워드 도입 역사 먼저 각 키워드가 언제 도입되었는지 살펴보겠습니다: some 키워드: Swift 5.1에서 도입 any 키워드: 더보기…

Claude와 MCP (Figma MCP, 유튜브 요약 정리 MCP) 연동 가이드

소개 Claude와 Figma의 연동 방법을 소개해드리겠습니다. MCP(Model Context Protocol)를 통해 Claude가 Figma 파일에 직접 접근하여 디자인 분석, 코드 생성 등 다양한 작업을 수행할 수 있습니다.   MCP(Model Context Protocol)란? MCP는 AI 모델이 외부 시스템과 안전하게 연결할 수 있도록 해주는 개방형 프로토콜입니다. 이를 통해 Claude는 다양한 도구와 서비스에 접근하여 더욱 강력하고 더보기…

macOS 개발: 내 앱으로 파일 열기 시도 시 실행 불가 문제(“확인되지 않은 개발자가 배포함”) 해결 과정

macOS 앱 노터라이즈(Notarize) 및 실행 불가 문제 해결 과정 1. 문제 개요 macOS에서 포스트잇 플레인 텍스트 앱인 StickyPlainPad을 테스트하는 중, 특정 테스트 파일 “다음으로 열기…”를 통해 실행했을 때 다음과 같은 문제가 발생하였습니다. 앱이 열리지 않음 보안 경고 메시지: “Mac에 손상을 입힐 수 있음” 또는 “확인되지 않은 개발자가 배포함” 이 문제는 더보기…

Swift UIKit: 테이블 뷰에서 UITextView의 컨텐츠에 따라 높이 자동조정

참고 Swift(스위프트): Static cell 모드인 테이블 뷰(UITableView)에서 특정 섹션 감추기 + 특정 행의 크기만 조절   구조 및 제약(Constraints)       1) 텍스트 뷰(UITextView)를 선택한 뒤 Indicator > Scroll View > Scrolling Enabled 해제 또는 코드에서 직접 설정합니다. textView.isScrollEnabled = false   2) 해당 인덱스패스 (IndexPath)의 heightForRowAt을 UITableView.automaticDimension으로 설정 더보기…

Swift UIKit: .translatesAutoresizingMaskIntoConstraints 란 무엇인가?

translatesAutoresizingMaskIntoConstraints UIKit에서 아직도 무슨 의미인지 잘 모르겠는 (View).translatesAutoresizingMaskIntoConstraints에 대해 알아보겠습니다.   한국어 직역 translatesAutoresizingMaskIntoConstraints를 한국어로 직역하면 다음과 같습니다: “Autoresizing 마스크를 제약 조건으로 변환한다” 구체적으로 단어별로 나누어보면: translates: 변환한다, 번역한다 AutoresizingMask: 자동 크기 조절 마스크 (UIKit의 레이아웃 시스템에서 뷰의 크기와 위치를 자동 조절하는 속성) into Constraints: 제약 조건으로 따라서 전체 의미는: 더보기…

Xcode에서 Navigator & Inspector를 숨기거나 보이게 하는 방법, 동시에 토글하는 방법

Xcode에서 Navigator & Inspector를 숨기거나 보이게 하는 방법, 동시에 토글하는 방법 소개 Xcode를 사용하다 보면 좁은 모니터 환경에서 Navigator (왼쪽 패널)와 Inspector (오른쪽 패널)를 상황에 따라 동시에 숨기거나 나타내고 싶을 때가 많습니다. 하지만 기본 단축키만으로는 이 둘을 동시에 제어할 수 있는 방법은 제공되지 않습니다.   이 글에서는 각각의 단축키와, 이를 해결하기 더보기…