분류 전체보기
-
SwiftUI TextEditor에 키보드 toolbar가 노출되지 않는 오류개발/Swift 2025. 4. 16. 16:31
SwiftUI + TCA 강의 보러가기 SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처| 덤벨로퍼 - 인프런 강의복잡한 SwiftUI 상태 관리, TCA (The Composable Architecture)로 깔끔하고 견고한 앱을 만드세요. 실전 프로젝트 예제로 핵심만 빠르게 배웁니다. TCA의 핵심 요소(State, Action, Reducer, Store)를 이해하고, Swww.inflearn.com ScrollView 내부에 두개의 TextEditor가있다 ScrollView { VStack(spacing: 0) { if case .post = store.contentType { TextEditor(text: $store.title...
-
[Swift] 애니메이션 정지 재생 CGAffineTransform개발/Swift 2025. 4. 11. 17:11
애니메이션 정지 재생탭 이벤트를 적용할떄 탭을 눌렀다가 떼었을때 처리를 위해서는 Tap Gesture보다는LongPressGesture를 활용하는게 더 간편한다 let tapGesture = UILongPressGestureRecognizer() tapGesture.minimumPressDuration = 0 optionView.addGestureRecognizer(tapGesture)minimumPressDuration 을 0으로 지정하면누르자마자 gesutre.state 가 began 되므로바로 터치다운 이벤트를 시작할수있다 switch gestureState { case .began: optionView.transform = CGAffineTransform(scaleX: 0.9, ..
-
UIKit SwiftUI에서 자동 스크롤개발/Swift 2025. 4. 8. 15:24
UIKit 자동 스크롤자동(동적) 스크롤 하기 위해 uikit 에서도 scrollRectToVisible 제공해줌 layoutIfNeeded() // Init 직후에 아직 내부 레이아웃이 안잡혀서 호출 필요 scrollRectToVisible(button.frame, animated: true) // ScrollView 기능근데 이게 스유 처럼 가운데로 보내주는게 아니라그냥 보이게만 해준다.스크롤 하려는 저 button 이 화면에 아예 안보이면 잘 동작하는데만약 왼쪽 찔끔 나온 상태라면 움직이지 않는 문제가 있음따라서 별도로 스크롤을 계산하여 setContentOffset 호출이 필요함layoutIfNeeded()let buttonCenterX = button.center.x DispatchQueu..
-
Swift WKWebview 에서 post 요청하는방법개발/Swift 2025. 4. 8. 09:46
WKwebview를 사용하여 웹뷰를 로드할떄 load 함수를 사용함 webView.load(request)이떄 들어가는 request는 URLRequest 타입이며url 만 있으면 쉽게 만들수 있다.let request = URLRequest(url: url, cachePolicy: cachePolicy)일반적인 get 요청은 그런데 post 요청을 수행해야 하는 경우는 어떨까?let request = URLRequest(url: url, cachePolicy: cachePolicy) request.httpMethod = "POST" webView.load(request)httpMethod 만 지정해줘서 쉽게 바꿀수 있다.이외 필요한 헤더 (토큰이나 contentType) 를 지정하고request.set..
-
[SwiftUI] NavigationLink pop push 깜빡이는 문제개발/Swift 2025. 4. 8. 09:31
상황case let .reportAction(action): switch action { case .report(.dismiss): state.report = nil case let .report(.presented(action)): switch action { case let .reportSuccess(contentType, id): state.report = nil return .concatenate( ..
-
SwiftUI 커스텀 팝업 노출 방법 fullScreenCover개발/Swift 2025. 3. 25. 17:15
https://inf.run/iDaq4 SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처 강의 | 덤벨로퍼 - 인프런덤벨로퍼 | 복잡한 SwiftUI 상태 관리, TCA (The Composable Architecture)로 깔끔하고 견고한 앱을 만드세요. 실전 프로젝트 예제로 핵심만 빠르게 배웁니다. , SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대www.inflearn.com SwiftUI에서 부모 뷰 위에 반투명한 커스텀 팝업 UI를 띄우는 방법은 다음과 같습니다.커스텀 팝업 view 구조ZStack { Color.black.opacity(0.5) 팝업 뷰}• 팝업 뷰 구조: 팝업은 부모 뷰를 덮는 형태이지만 반투명한 UI여야 합니다. 이를 위해 ZStack 내..
-
TCA binding 액션 내부 타입 바인딩 @CasePathable개발/Swift 2025. 3. 25. 17:07
Binding보통 아래와같은 방식으로 바인딩을 만들어 노출 비노출 처리함→ Binding init 보다 더 짧고 간결하게 구현히 가능$store.presentActionSheet.sending(\\.presentActionSheet),근데 만약 Action 타입이 내부 세부 타입으로 나누어져있을 경우에 문제가 생김enum Action { enum CommunityPostReportAction { case setActiveAlert(CustomAlertPopupType?) case showReportedPostGuide(Bool) } case report(CommunityPostReportAction)}이런경우 위와 같은 방식으로 바인딩 할수가 없음$store.showReportedP..
-
[Swift] 페이지처럼 넘어가는 스크롤 레이아웃 (Carousel Effect)개발/Swift 2025. 2. 26. 17:40
1. 레이아웃 잡기 제약조건을 다음과 같이 잡음scrollView.snp.makeConstraints { make in make.edges.equalToSuperview() } stackView.snp.makeConstraints { make in make.edges.equalToSuperview() make.height.equalToSuperview() } 가로 스크롤의 경우 Scrollview의 높이값이 지정 되어있어야 함,그렇지 않으면 가로스크롤 뿐만 아니라 세로스크롤 까지 동작 해버림그런데 고정된 높이값을 지정해 줄수가 없고stackview 내부 이미지의 사이즈에 따라 동적으로 계산..