Различные галереи из коллекции коллекции - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь выполнить задание, показанное здесь: http://www.cs.utexas.edu/users/theshark/courses/cs329e/assignments/assignment_5.html

Я получил все это, за исключением дополнительной части кредита, где мне нужно иметь другое представление сбора в зависимости от в какой ячейке таблицы просматривался пользователь. Я действительно смущен даже тем, как начать делать это. Главный вопрос, который у меня возникает, - как узнать, на какую ячейку табличного представления щелкнул пользователь при активации перехода к представлению коллекции. Затем, основываясь на этом, я добавлю в вид некоторые фотографии, которые, я надеюсь, я смогу понять, как только этот момент наступит. Я действительно очень отчаялся, я смотрел на это часами и изо всех сил пытался понять.

Представление таблицы выглядит так:

import UIKit

class AnimalTableViewCell: UITableViewCell {


    @IBOutlet weak var animalName: UILabel!
    @IBOutlet weak var animal_Image: UIImageView!
}

class AnimalDescriptionTableViewCell: UITableViewCell {
    @IBOutlet weak var scientificName: UILabel!
    @IBOutlet weak var className: UILabel!
    @IBOutlet weak var weightValue: UILabel!

}

let animals = [Animal(name: "Great White Shark", scientific_name: "Carcharodon carcharias", science_class: "Chondrichthyes", size: 680.0,isoCode: "greatwhite1"),Animal(name: "Common Cuttlefish", scientific_name: "Sepia officinalis", science_class: "Cephalopoda", size: 4.0,isoCode: "cuttlefish1"),Animal(name: "Takhi", scientific_name: "Equus ferus", science_class: "Mammalia", size: 300.0, isoCode: "takhi1"),Animal(name: "Asian Elephant", scientific_name: "Elephas maximum", science_class: "Mammalia", size: 5220.0, isoCode: "asianelephant1")]

class AnimalTableViewController: UITableViewController {


    override func numberOfSections(in tableView: UITableView) -> Int {
        return 4
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 2
    }



    override func viewDidLoad() {
        super.viewDidLoad()



        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem
    }

    // MARK: - Table view data source


    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "animalCell", for: indexPath) as! AnimalTableViewCell

        let cell2 = tableView.dequeueReusableCell(withIdentifier: "animalDescription", for: indexPath) as! AnimalDescriptionTableViewCell

        let creatures = animals[indexPath.section]



        if indexPath.row == 0 {
            cell.animalName.text = creatures.name
            cell.animal_Image.image = UIImage(named:creatures.isoCode)
            return cell
        }

        if indexPath.row == 1 {
            cell2.className.text = creatures.science_class
            cell2.scientificName.text = creatures.scientific_name
            cell2.weightValue.text = String(format: "%.1f", creatures.size) + " kg"
            return cell2
        }


        return cell

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...