Я пытаюсь создать демонстрационное приложение, которое имеет TabBarViewController, а также 4 вкладки (4 различных ViewControllers на раскадровке)CollectionView Cell щелкнул развернуть новый вид
На первой вкладке, которая является первой ViewController, я есть коллекцияView с ячейками с ImageView и несколькими ярлыками.
Что я пытаюсь сделать, когда вы нажимаете на ячейку, она расширяется на весь экран, и вид все еще остается в первой вкладке из панели вкладок, только теперь, когда вид внутри ViewController изменилось на новое представление, которое представляет собой расширенное представление выбранной ячейки, и когда вы прокручиваете вниз, просмотр коллекции продолжается, и вы можете щелкнуть другую ячейку, и она будет расширяться и так далее ... пока вы можете в любое время нажать назад и показывает последнюю ячейку, которая была расширена на вид
Надеюсь, я был достаточно ясен о том, что я пытаюсь сделать. Теперь плохо добавить код того, что у меня уже
import UIKit
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
var imagesArray = []
var imageSizes = [CGSize]()
var labelsArray = [""]
var descArray = [""]
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.delegate = self
self.collectionView.dataSource = self
for i in 0..<imagesArray.count {
let currImg = imagesArray[i]
let currHeight = currImg.size.height
let currSize = CGSize(width: 150, height: currHeight + 125)
imageSizes.append(currSize)
}
}
public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return imagesArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionVCe
cell.cellImg.image = imagesArray[indexPath.row]
cell.descLabel.text = descArray[1]
cell.itemLabel.text = labelsArray[0]
cell.cellImg.contentMode = .scaleAspectFill
cell.layer.cornerRadius = 9
cell.backgroundColor = UIColor.red
cell.cellImg.backgroundColor = UIColor.blue
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return imageSizes[indexPath.row]
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(0, 25, 0, 25)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 10
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if let cell = collectionView.cellForItem(at: indexPath) {
cell.frame = collectionView.frame
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Добро пожаловать на переполнение стека! Пожалуйста, добавьте в свой ответ какой-то код, который демонстрирует, что вы имеете в виду. –