将照片添加到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
}
}