将照片添加到UITableview中的分区

将照片添加到UITableview中的分区,uitableview,switch-statement,xcode6,Uitableview,Switch Statement,Xcode6,有没有办法在版面中添加照片而不是添加文本视图 例如,球拍和球只有一张照片而不是所有的文本视图 在其他部分有文本视图吗 我想你需要这样的东西: // // ViewController.swift // Test // // Created by Dennis Mostajo on 9/29/20. // import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSo

有没有办法在版面中添加照片而不是添加文本视图

例如,球拍和球只有一张照片而不是所有的文本视图

在其他部分有文本视图吗


我想你需要这样的东西:

//
//  ViewController.swift
//  Test
//
//  Created by Dennis Mostajo on 9/29/20.
//

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    @IBOutlet var table: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    // MARK: - UITableView
        
        func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
        {
            var height:CGFloat = 0
            if tableView == self.table
            {
                height = 25
            }
            return height
        }
        
        func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
        {
            var height:CGFloat = 0
            if tableView == self.table
            {
                height = 50
            }
            return height
        }
        
        func numberOfSections(in tableView: UITableView) -> Int {
            var sections:Int = 0
            if tableView == self.table
            {
                sections = 4
            }
            return sections
        }
        
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
        {
            var rows:Int = 0
            if tableView == self.table
            {
                switch section
                {
                case 0:
                    rows = 3
                    break
                case 1:
                    rows = 3
                    break
                case 2:
                    rows = 2
                    break
                case 3:
                    rows = 3
                    break
                default:
                    break
                }
            }
            return rows
        }
        
        func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
        {
            let headerView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.width, height: 25))
            headerView.backgroundColor = .black
            if tableView == self.table
            {
                switch section
                {
                case 0: // for image only
                    let imageView = UIImageView.init(frame: headerView.frame)
                    imageView.image = UIImage(named:"flagBolivia.png")
                    imageView.contentMode = .scaleToFill
                    headerView.addSubview(imageView)
                    break
                case 1: // for image and text
                    let imageView = UIImageView.init(frame: headerView.frame)
                    imageView.image = UIImage(named:"flagBolivia2.jpg")
                    imageView.contentMode = .scaleToFill
                    headerView.addSubview(imageView)
                    let label = UILabel.init(frame: headerView.frame)
                    label.text = "Main Cities"
                    label.textColor  = .white
                    label.font = UIFont.boldSystemFont(ofSize: 16.0)
                    label.backgroundColor = .clear
                    headerView.addSubview(label)
                    break
                case 2: // for text only
                    let label = UILabel.init(frame: headerView.frame)
                    label.text = "Showing images only"
                    label.textColor  = .white
                    label.backgroundColor = .black
                    headerView.addSubview(label)
                    break
                case 3: // for text only
                    let label = UILabel.init(frame: headerView.frame)
                    label.text = "Bolivian Food"
                    label.textColor  = .white
                    label.backgroundColor = .black
                    headerView.addSubview(label)
                    break
                default:
                    break
                }
            }
            return headerView
        }
        
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
        {
            let cell: UITableViewCell = UITableViewCell(style: UITableViewCell.CellStyle.subtitle, reuseIdentifier: "cell")
            if tableView == self.table
            {
                switch indexPath.section
                {
                case 0:
                    switch indexPath.row
                    {
                    case 0:
                        cell.textLabel?.text = "CODING"
                        break
                    case 1:
                        cell.textLabel?.text = "FROM"
                        break
                    case 2:
                        cell.textLabel?.text = "BOLIVIA"
                        break
                    default:
                        break
                    }
                    break
                case 1:
                    switch indexPath.row
                    {
                    case 0:
                        cell.textLabel?.text = "La Paz"
                        break
                    case 1:
                        cell.textLabel?.text = "Cochabamba"
                        break
                    case 2:
                        cell.textLabel?.text = "Santa Cruz"
                        break
                    default:
                        break
                    }
                    break
                case 2:
                    switch indexPath.row
                    {
                    case 0:  // for image only
                        let imageView = UIImageView.init(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.width, height: 50))
                        imageView.image = UIImage(named:"flagBolivia.png")
                        imageView.contentMode = .scaleToFill
                        cell.contentView.addSubview(imageView)
                        break
                    case 1:
                        let imageView = UIImageView.init(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.width, height: 50))
                        imageView.image = UIImage(named:"flagBolivia2.jpg")
                        imageView.contentMode = .scaleToFill
                        cell.contentView.addSubview(imageView)
                        let label = UILabel.init(frame: cell.frame)
                        label.text = "Custom Cell"
                        label.textColor  = .white
                        label.font = UIFont.boldSystemFont(ofSize: 16.0)
                        label.backgroundColor = .clear
                        cell.contentView.addSubview(label)
                        break
                    default:
                        break
                    }
                    break
                case 3:
                    switch indexPath.row
                    {
                    case 0:
                        cell.textLabel?.text = "Fricasé"
                        break
                    case 1:
                        cell.textLabel?.text = "Silpancho"
                        break
                    case 2:
                        cell.textLabel?.text = "Majadíto"
                        break
                    default:
                        break
                    }
                    break
                default:
                    break
                }
            }
            return cell
        }
}