Для моего проекта я создал меню заказа, в котором программно создаются кнопки, которые прокручиваются горизонтально.Однако я ищу способы назначить IBAction - особенно действие для записи в базу данных Firebase - для этих кнопок динамически ... Будет ли работать тегирование кнопок и использование условных выражений?
Мои коды
Food.swift - наборы свойств каждого пункта меню
class Food
{
var title = ""
var featuredImage: UIImage
var color: UIColor
init(title: String, featuredImage: UIImage, color: UIColor)
{
self.title = title
self.featuredImage = featuredImage
self.color = color
}
static func fetchFoods() -> [Food]
{
return [
Food(title: " Biscuits", featuredImage: UIImage(named: "f1")!, color: UIColor(red: 63/255.0, green: 71/255.0, blue: 80/255.0, alpha: 0.6)),
Food(title: " Sandwich", featuredImage: UIImage(named: "f2")!, color: UIColor(red: 63/255.0, green: 71/255.0, blue: 80/255.0, alpha: 0.6)),
Food(title: " Veg Sandwich", featuredImage: UIImage(named: "f3")!, color: UIColor(red: 63/255.0, green: 71/255.0, blue: 80/255.0, alpha: 0.6)),
]
}
}
UICollectionCell swift
import UIKit
class FoodCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var featuredImageView: UIImageView!
@IBOutlet weak var backgroundColorView: UIView!
@IBOutlet weak var foodButton: UIButton!
var food: Food? {
didSet {
self.updateUI()
}
}
private func updateUI()
{
if let food = food {
featuredImageView.image = food.featuredImage
backgroundColorView.backgroundColor = food.color
foodButton.setTitle("\(food.title)", for: .normal)
} else {
featuredImageView.image = nil
backgroundColorView.backgroundColor = nil
foodButton.setTitle("", for: .normal)
}
}
}
Можно ли добавить в еду.swift,
var buttonTag = ""
, затем назначьте тег отдельной кнопке.На UICollectionCell.swift добавьте тег.Использование условных выражений If ... else ... для сопоставления тега с отдельным IBAction {ref? .Child ... ")
Спасибо всем !!!
ps.Есть другой файл swiftдля расположения пунктов меню по горизонтали ..