私は、iOS に付属する写真アプリと同様の機能を持つアプリを作成しようとしています。セルをタップして画像を画面に合わせて拡大し、画像をタップして閉じることができる機能があります。ダウンロードできる複数の画像を選択できるように、選択ボタンを追加したいと思います。私はこれにかなり慣れておらず、周りを見回しましたが、これらの両方を行う例を見つけることができません。どんな助けも素晴らしいでしょう。
更新:
私の現在のコード:
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return imagesURLArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "photoCell", for: indexPath) as! PhotoCell
cell.backgroundColor = .clear
cell.imageView.image = UIImage(contentsOfFile: imagesURLArray[indexPath.row].path)
cell.checkmarkView.isHidden = true
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,sizeForItemAt indexPath: IndexPath) -> CGSize {
let paddingSpace = sectionInsets.left * (itemsPerRow + 1)
let availableWidth = view.frame.width - paddingSpace
let widthPerItem = availableWidth / itemsPerRow
return CGSize(width: widthPerItem, height: widthPerItem)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,insetForSectionAt section: Int) -> UIEdgeInsets {
return sectionInsets
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return sectionInsets.left
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
addZoomedImage(indexPath.row)
addGestureToImage()
addBackGroundView()
view.addSubview(selectedImage)
}
ダウンロードする複数の画像を選択するための長いタップ ジェスチャを追加する方が簡単なのか、写真アプリに選択ボタンを配置する方が簡単なのか、どちらもどこから始めればよいのかわかりません。
OK-1つのアプローチ:
PhotoCell
-おそらく左上または右上隅に追加しますdidSelectItemAt indexPath:
それが一般的な考え方です。次の場所としては、次の検索で見つかったいくつかの例をご覧になることをお勧めします。uicollectionviewcell check mark
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加