使用照片选择器

    科技2024-08-16  30

    1.判断数据源是否可用

    if !UIImagePickerController.isSourceTypeAvailable(.photoLibrary) { return }

    2.创建照片选择控制器

    let ipc = UIImagePickerController()

    3.设置照片源

    ipc.sourceType = .photoLibrary

    4.设置代理

    ipc.delegate = self

    5.弹出选择照片控制器

    present(ipc, animated: true, completion: nil) 注意:只有控制器可以modal

    6.实现代理方法(将选择的照片传递给cell,让他自己显示数据)(这里我们使用CollectionViewCell)

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { // 1.获取选中的照片 let image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage // 2.将选中的照片添加到数组中 images.append(image) // 3.将数组赋值给collectionView,让collectionView自己展示数据 picPickerView.images = images // 4.退出选择照片控制器 picker.dismiss(animated: true, completion: nil) } images是我们在当前控制器创建的一个数组picPickerView是我们的collectionView,他当中也有一个我们自己创建的数组

    7.在CollectionView当中设置数据(实现数据源方法)

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return images.count + 1 } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { // 1.创建cell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: picPickerCell, for: indexPath) as! picPickerViewCell // 2.给cell设置数据 cell.image = indexPath.item <= images.count - 1 ? images[indexPath.item] : nil return cell }
    Processed: 0.012, SQL: 8