import SwiftUI/// 커스텀 세그먼트 뷰 (컨텐츠 크기만큼 동적 너비 버전)struct SegmentedFlexibleView: View { let segments: [String] @Binding var currentPage: Int @Namespace private var name var body: some View { ScrollViewReader { proxy in ScrollView(.horizontal, showsIndicators: false) { HStack(spacing: 0) { ForEach(segments.indices, id: \.self) {..
import SwiftUI/// 커스텀 세그먼트 뷰 (가로 꽉 채우는 고정 너비 버전)struct SegmentedFixedView: View { let segments: [String] @Binding var currentPage: Int @Namespace private var name var body: some View { HStack(spacing: 0) { ForEach(segments.indices, id: \.self) { index in Button { currentPage = index } label: { ..
// https://ahmetkasimnazli.medium.com/creating-an-audio-player-with-avkit-in-swiftui-a17f3b704fad// 오디오 플레이어struct ContentView: View { @State var viewModel = ViewModel() var body: some View { VStack { HStack { Button { if viewModel.isPlaying { viewModel.pause() } else { ..
- Total
- Today
- Yesterday
- Language
- permission
- AppStore
- custom segment
- indicator
- TabBar
- Infinite Carousel
- localizing
- 현지화
- 아이오에스
- Authorization
- picker
- TabView
- localizable
- 스위프트
- SWIFT
- Reject
- 엑스코드
- presentationcompactadaptation
- 다국어
- 테이블뷰
- 리젝
- swiftUI
- 심사
- 인디케이터
- 로컬라이징
- ios
- SKPayment
- 프로그레스
- Xcode
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |