fixed dark header appearance
Native SwiftUI CNContactViewController replacement
Default list, without custom row layout
import SwiftUIContactPicker @State var selectedContact: PhoneContact? @State var viewModel: ContactPickerViewModel = ContactPickerViewModel(store: @State var showSheet: Bool = false private var cpConfig = ContactPickerConfiguration.default var body: some View { Text("Choose a contact") .onTapGesture { showSheet.toggle() } .sheet(isPresented: $showSheet, content: { ContactPickerView(viewModel: viewModel, config: cpConfig, selectedContact: $selectedContact, onCancel: { showSheet = false }) }) .onChange(of: selectedContact) { selected in guard let selectedContact = selected else { return } print("selected=\(selectedContact.name ?? "")") } }
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
SwiftUI ContactPicker
Native SwiftUI CNContactViewController replacement
Usage
Default list, without custom row layout
TODO