일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 리액트
- React Native
- 360도 이미지 뷰어
- 스켈레톤 통합
- privacyinfo.plist
- 3b52.1
- Privacy manifest
- native
- 리액트 네이티브
- Skeleton UI
- 리엑트 네이티브
- 네이티브
- panorama view
- Android
- 360도 뷰어
- launchscreen
- boilerplate 제거
- 스플래시스크린
- requirenativecomponent
- launch screen
- 앱 성능 개선
- ios
- 360도 이미지
- react
- 파노라마 뷰
- 라이브러리 없이
- React-Native
- Native Module
- react-native-fast-image
- 스켈레톤 UI
- Today
- Total
목록2024/11 (4)
Neoself의 기술 블로그
모든 앱이든 사용자에게 중요한 정보를 전달하고자 할때는, 팝업과 토스트 UI를 자주 사용합니다. 이러한 UI는 어느 화면에 종속되지 않고, 특정 이벤트가 발생할때를 기준으로 항상 사용자에게 보여야하는 UI인 만큼, 여러 화면에서 이를 표시할 수 있어야 합니다. 이번 게시글에서는 Toast와 Popup의 구성 데이터와 표시 관련 로직을 중앙화하는 과정을 글로 정리해보았습니다. 1. 문제점처음에는 위 두개 컴포넌트를 필요로 하는 View들에서 직접 렌더 관련 @State 변수를 생성해 개별적으로 관리하는 방식을 사용해왔었습니다. struct ExampleView: View { @Environment(\.dismiss) var dismiss @State private var showLogoutAle..
프린터 큐import Foundationfor i in 0 ..queue[0].priority}) { queue.append(queue.removeFirst()) } else { // 대상 문서일 경우 출력 및 while문 중단 if queue[0].index == M { print(cnt+1) break } // 맨 앞의 문서 출력하여 제거 및 cnt에 1 추가 queue.removeFirst() cnt+=1 } }}대상 문서가 최종적으로 몇번째에 출력되는지 확인하기 위해선, 모든 ..
본 게시글은 Keychain, UserDefaults를 활용하여 로그인 여부를 영구적으로 관리하고 Combine을 통해 뷰를 업데이트하는 로그인 플로우 고도화 과정을 공유하고자 작성된 글입니다. 로그인 플로우 파악에 더 나아가, 자동로그인 및 자동 로그아웃 기능을 고려하시는 개발자 분들께 도움이 되시리라 생각합니다.1. 기존 로그인 플로우의 한계우선 제가 여태껏 구현해왔던 로그인 및 로그아웃 플로우를 간단하게 소개드리겠습니다.AppState라는 싱글톤 패턴 기반의 클래스를 환경객체로 앱에 적용한 후, 로그인 여부 불린값 isLoggedIn을 통해 보이는 뷰를 관리하였습니다. class AppState: ObservableObject { static let shared = AppState() ..
프린터 큐for i in 0 ..queue[0].priority}) { queue.append(queue.removeFirst()) cnt+=1 } else { // 대상 문서일 경우 출력 및 while문 중단 if queue[0].index == M { print(cnt) break } // 맨 앞의 문서 출력하여 제거 및 cnt에 1 추가\ queue.removeFirst() cnt+=1 } }} 기존 코드더보기import Foundationvar cnt: Int..