🧑💻/Swift
-
UICollectionViewCell의 버튼이 동작하지 않는 문제 해결하기🧑💻/Swift 2024. 11. 21. 17:26
SkeletonView의 showSkeleton() hideSkeleton() 으로 스켈레톤을 구현하던 중UICollectionViewCell (UITableViewCell) 내부에 버튼이 포함된 경우 버튼 액션이 동작하지 않았습니다. SkeletonView.showSkeleton() 호출 시 contentView.isUserInteractionEnabled 값을 true로 설정하기라도 하는건지 ...contentView 이벤트를 수신하고 있어서 버튼 클릭 이벤트가 호출되지 않는 듯 합니다.contentView.isUserInteractionEnabled를 false로 지정하면 버튼이 동작합니다.import UIKitclass MyCell: UICollectionViewCell { overr..
-
iOS 18 부터 AVPlayer 재생 안되는 문제 해결하기🧑💻/Swift 2024. 11. 15. 13:27
AVPlayer를 사용한 동영상 재생이 iOS 18로 업데이트 후 재생이 안되는 문제가 발생했습니다.같은 앱인데 iOS 17에서는 정상 동작하는데, iOS 18 기기만 재생이 안됩니다.재생에 실패하면 이런 이미지가 뜹니다. 재생이 안될 땐 2가지를 확인해 보아야 하는데1. AVPlayerItem.statusif let status = player.currentItem?.status { print("AVPlayerItem status: \(status.rawValue)")}AVPlayer에 설정한 AVPlayerItem의 status를 찍어보니 failed (2)가 나오더라구요.2. AVPlayerItem.errorif let error = player.currentItem?.error { pr..
-
AVPlayerViewController 시계, 배터리 상태표시줄 표시 방법🧑💻/Swift 2024. 8. 16. 17:14
AVKit의 AVPlayerViewController를 SwiftUI에서 사용하던 중상단 Safe Area 영역에 시간, 배터리 등이 표시되지 않는 문제가 발생했습니다. 이거 사실 버그 아닌가요 struct MyVideoPlayer: UIViewControllerRepresentable { let player: AVPlayer func makeUIViewController(context: Context)-> AVPlayerViewController { let controller = AVPlayerViewController() controller.player = player return controller } func updateUI..
-
SwiftUI View 생명주기🧑💻/Swift 2024. 2. 3. 15:35
1. init View 객체가 생성됩니다. 처음 객체가 생성될 때만 수행될 초기화 작업을 넣습니다. 2. onAppear 화면이 표시되기 전 수행할 작업입니다. 2020에 작성된 블로그 글을 보니 onAppear()는 Adds an action to perform when the view appears 였는데 현재 기준으로는 before this view appears 로 바뀌었습니다. UIKit의 viewDidAppear()와 같다는 논란을 잠재우기 위해 수정하지 않았나 싶습니다. 개인적으로 viewWillAppear() > viewDidLayoutSubviews() 이후, viewDidAppear() 전이라고 생각합니다. 3. task (비동기) View를 표시하기 전에 비동기 작업을 수행합니다. ..
-
[3rd] SkeletonUI 사용법🧑💻/Swift 2024. 1. 29. 22:47
Framework를 만드는 일은 해봤어도 3rd Party Framework 사용은 많이 안해봐서 새 프로젝트에 들어갈 때 공부해야할 내용이 많더라구요. 하나씩 파헤쳐보려 합니다. 러닝 커브가 낮은 Framework 부터... Skeleton 이란? 사용자에게 데이터 로딩중임을 알리고, 데이터 로딩 후에도 자연스럽게 화면이 전환되는 컴포넌트입니다. UIKit을 사용한다면 https://github.com/Juanpe/SkeletonView 를 많이 사용하는 것 같더라구요. 저는 SwiftUI에서 사용할 수 있는 SkeletonUI를 살펴보도록 하겠습니다. 1. Swift Package Manager 추가 URL : https://github.com/CSolanaM/SkeletonUI 2.0.0 버전 사용..