분류 전체보기
-
[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 내부 이미지의 사이즈에 따라 동적으로 계산..
-
[Swift] 애니메이션 동작시 터치 이벤트가 동작 안하는 이유개발/Swift 2025. 2. 26. 15:19
ㅌㅓ치가 안먹음1.애니메이션 다 적용해 놓으니 갑자기 잘먹던 터치 이벤트가 안들어옴ContainerView → StackView → Items구조로 되어있으며Items 를 세팅할떄 addView, contraints 를 잡아줬었음optionContainerView.addSubview(verticalOptionStackView)verticalOptionStackView.snp.makeConstraints { make in make.top.bottom.equalToSuperview() make.leading.trailing.equalToSuperview().inset(40) } private func setMultipleQuizUI(options..
-
SwiftUI + TCA 활용 액션 시트 구현 confirmationDialog개발/Swift 2025. 2. 7. 09:11
액션 시트 구현방법confirmationDialog 활용한다 .confirmationDialog(, isPresented: #>, titleVisibility: , actions: A#>)이옵션을 사용해보자첫번쨰 - 가장 먼저 타이틀 영역 (Stirng) isPresented - 보여줄지 말지 Bool의 바인딩 값 (TCA 상태, 액션과 연결하면됨)titleVisibility - 타이틀 영역 보여줄지action - 여기서 버튼들을 생성해줌isPresented 이거랑 action 만 잘 지정하면 될거같다나머지는 알아서 세팅 일단 비교적 간단한 버튼구현 하여 버튼이 클릭되면액션시트가 뜨는 방식으로 구현하려 한다. 만약 store에 리스트를 가지고 있고 그것을 활용한다면ForEach를 사용해야 할것이다 그러..
-
[SwiftUI + TCA] 에러 Perceptible state was accessed but is not being tracked개발/Swift 2025. 2. 7. 09:10
SwiftUI TCA로 기능을 구현중이다.아직 초보자 수준이라 매시간이 도전이고 고비다.그러던중 이런 에러가 나타났다. 런타임에 발생하며 크래시는 안나지만UI가 심하게 버벅이면서 에러가 자꾸 난다.Perceptible state was accessed but is not being tracked.Track changes to state by wrapping your view in a 'WithPerceptionTracking' view.This must also be done for any escaping, trailing closures, such as 'GeometryReader',`LazyVStack` (and all lazy views), navigation APIs ('sheet', 'popov..
-
TCA에서 AsyncStream 사용해서 타이머 구현하기개발/Swift 2025. 1. 15. 23:18
타이머를 구현 해야 했습니다TCA + SwiftUI 기반으로 구현중이라 여기에 걸맞게 구현해야 합니다그래서 Reducer에서 타이머를 구현하고 카운트다운 State를 설정하여View에서 바인딩하는 방식으로 구현하려 합니다 우선 AsyncStream 사용해본적이 없어서 이거부터 만들어봤습니다간단히 60 부터 0까지 반복문 + Task.sleep을 넣어 1초마다 호출되도록 하였습니다Task { for i in (0...59).reversed() { try await Task.sleep(nanoseconds: 1_000_000_000) print(i) }}// 59..58..57..56이제 저 i를 AsyncStream 에 담아서 계속 전송해주도록 할겁니다private func t..
-
[Tuist] 모듈 생성 과 모듈 내 테스트 타겟 생성개발/Swift 2025. 1. 14. 22:07
모듈을 생성해서 개발할 예정이다(Tuist edit 한 후)메인앱 타겟을 보면 여러 디펜던시들이 세팅되어있다외부 라이브러리를 포함한다dependencies: [TargetDependency] { return [ .external(name: "AdFitSDK"), .external(name: "AMPopTip"), .external(name: "ChannelIOSDK"), .external(name: "CocoaLumberjack"), .external(name: "CocoaLumberjackSwift"), .... ]여기에 모듈을 만들 project 를 하..
-
[Error] Perceptible state was accessed but is not being tracked카테고리 없음 2025. 1. 14. 21:49
https://inf.run/V3b51 SwiftUI TCA로 기능을 구현중이다.아직 초보자 수준이라 매시간이 도전이고 고비다.그러던중 이런 에러가 나타났다. 런타임에 발생하며 크래시는 안나지만UI가 심하게 버벅이면서 에러가 자꾸 난다.Perceptible state was accessed but is not being tracked.Track changes to state by wrapping your view in a 'WithPerceptionTracking' view.This must also be done for any escaping, trailing closures, such as 'GeometryReader',`LazyVStack` (and all lazy views), navigation..
-
[Swift] XIB 만 가지고 이벤트 핸들링 하는법, xib cell 내부에 또 cell 이있는경우개발/Swift 2024. 12. 21. 19:23
XIB 만 가지고 버튼 이벤트 핸들링 하는법VC → xib(view) → button 의존 상황button 터치 이벤트를 VC에서 받아야함 근데 xib를 위한 커스텀 class 없는 상황xib와 class 파일을 묶어서 버튼 접근이나 버튼 액션을 처리하지 못하는 상황해결 방법xib 를 위한 class 를 생성하여 이벤트를 받아 처리한다tag를 사용한다.viewWithTag활용하여 이벤트 받아옴if let backgroundView = nib?.instantiate(withOwner: self, options: nil).first as? UIView { if let pastButton = backgroundView.viewWithTag(100) as? UIButton { pastButton.addTarge..