   }
 
   override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-    guard self.pickerSections[indexPath.section] == .colorPicker else {
+    guard self.pickerSections[indexPath.section] == .iOS14Picker else {
       return
     }
 
     if #available(iOS 14.0, *) {
-      let colorPickerController = UIColorPickerViewController()
+      let controller: UIViewController
 
-      self.navigationController?.present(colorPickerController, animated: true, completion: nil)
+      if indexPath.row == 1 {
+        var configuration = PHPickerConfiguration()
+        configuration.selectionLimit = 3
+        let photoPicker = PHPickerViewController(configuration: configuration)
+        photoPicker.delegate = self
+        controller = photoPicker
+      } else {
+        controller = UIColorPickerViewController()
+      }
+
+      self.navigationController?.present(controller, animated: true, completion: nil)
     }
 
     self.tableView.deselectRow(at: indexPath, animated: true)

      let cell = tableView.dequeueReusableCell(withIdentifier: identifier)!

      return cell
    case .colorPicker:
      let cell = UITableViewCell(style: .subtitle, reuseIdentifier: self.tableViewCellIdentifier)
      cell.textLabel?.text = "Color Picker"
      cell.detailTextLabel?.text = "Tap here to launch the new color picker from iOS 14"

      if #available(iOS 14.0, *) {
        cell.detailTextLabel?.textColor = .secondaryLabel


  override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if #available(iOS 14.0, *) {
      switch pickerSections[section] {
      case .datePicker:
        return self.datePickerStyles.count
      case .iOS14Picker:
        return tableViewCelllabels.count
      default:
        return 1
      }
    }
    return 1
  }
