在某些tableView单元格中快速更改单元格背景颜色

时间:2020-02-10 16:54:32

标签: ios arrays swift uitableview cell

两个数组。第一个具有所有事件,第二个具有冲突事件(都存在于第一个数组中)。 TableView显示所有事件。 我想在表格视图单元格中突出显示第二个数组的元素

第一个数组21个项目

["Bicycling with Friends - Start: Nov 1, 18 6:00 AM - End: Nov 1, 18 9:30 AM", "Yoga - Start: Nov 1, 18 6:00 PM - End: Nov 1, 18 7:33 PM", "Local Pub with Friends - Start: Nov 1, 18 7:33 PM - End: Nov 1, 18 11:00 PM", "Football Game - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Football Tailgate with John - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Volleyball With Friends - Start: Nov 6, 18 12:00 PM - End: Nov 6, 18 1:26 PM", "Boba Tea Grand Opening - Start: Nov 6, 18 1:27 PM - End: Nov 6, 18 2:00 PM", "Evening Cookout with Friends - Start: Nov 6, 18 5:00 PM - End: Nov 6, 18 10:00 PM", "SF Coffee Festival - Start: Nov 6, 18 6:00 PM - End: Nov 6, 18 9:00 PM", "Roller Derby - Start: Nov 7, 18 12:00 PM - End: Nov 7, 18 2:30 PM", "Rock Concert - Start: Nov 7, 18 6:30 PM - End: Nov 7, 18 11:00 PM", "Lunch with Friends - Start: Nov 8, 18 11:30 AM - End: Nov 8, 18 12:59 PM", "Nap Break - Start: Nov 8, 18 12:56 PM - End: Nov 8, 18 1:30 PM", "Basketball Game - Start: Nov 8, 18 7:30 PM - End: Nov 8, 18 10:30 PM", "Lunch Meeting - Start: Nov 9, 18 12:30 PM - End: Nov 9, 18 2:30 PM", "Free Donuts - Start: Nov 9, 18 3:00 PM - End: Nov 9, 18 4:00 PM", "TV Show Marathon - Start: Nov 9, 18 4:30 PM - End: Nov 9, 18 9:00 PM", "Beer with Friends - Start: Nov 9, 18 8:00 PM - End: Nov 9, 18 9:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM", "Dentist Appointment - Start: Nov 10, 18 1:45 PM - End: Nov 10, 18 2:30 PM", "Evening Picnic - Start: Nov 10, 18 6:00 PM - End: Nov 10, 18 7:00 PM"]
the ["Football Tailgate with John - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Football Game - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "SF Coffee Festival - Start: Nov 6, 18 6:00 PM - End: Nov 6, 18 9:00 PM", "Evening Cookout with Friends - Start: Nov 6, 18 5:00 PM - End: Nov 6, 18 10:00 PM", "Nap Break - Start: Nov 8, 18 12:56 PM - End: Nov 8, 18 1:30 PM", "Lunch with Friends - Start: Nov 8, 18 11:30 AM - End: Nov 8, 18 12:59 PM", "Beer with Friends - Start: Nov 9, 18 8:00 PM - End: Nov 9, 18 9:30 PM", "TV Show Marathon - Start: Nov 9, 18 4:30 PM - End: Nov 9, 18 9:00 PM", "Dentist Appointment - Start: Nov 10, 18 1:45 PM - End: Nov 10, 18 2:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM"]

第二个数组

conflictingEvents # 11
the ["Football Tailgate with John - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Football Game - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "SF Coffee Festival - Start: Nov 6, 18 6:00 PM - End: Nov 6, 18 9:00 PM", "Evening Cookout with Friends - Start: Nov 6, 18 5:00 PM - End: Nov 6, 18 10:00 PM", "Nap Break - Start: Nov 8, 18 12:56 PM - End: Nov 8, 18 1:30 PM", "Lunch with Friends - Start: Nov 8, 18 11:30 AM - End: Nov 8, 18 12:59 PM", "Beer with Friends - Start: Nov 9, 18 8:00 PM - End: Nov 9, 18 9:30 PM", "TV Show Marathon - Start: Nov 9, 18 4:30 PM - End: Nov 9, 18 9:00 PM", "Dentist Appointment - Start: Nov 10, 18 1:45 PM - End: Nov 10, 18 2:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM"]
显示第一个数组的表的

单元格代码。

cell.textLabel!.text = stringArray[indexPath.row]

我要突出显示此表中第二个数组的元素

我是新手,如果你们能帮助的话,那就意味着很多。

2 个答案:

答案 0 :(得分:1)

怎么样?


class TableViewController: UITableViewController {

    var listA = ["Event 1", "Event 2", "Event 3", "Event 4"]
    var listB = ["Event 1", "Event 3"]

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

    override func tableView(_ tableView: UITableView,
                            numberOfRowsInSection section: Int) -> Int {
        return self.listA.count
    }


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

        let event = self.listA[indexPath.row]
        cell.textLabel?.text = event
        cell.backgroundColor = self.listB.contains(event) ? .secondarySystemFill : nil

        return cell
    }

}

答案 1 :(得分:0)

import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {


@IBOutlet weak var myTableViewOutlet: UITableView!



let myArray1 =  ["Bicycling with Friends - Start: Nov 1, 18 6:00 AM - End: Nov 1, 18 9:30 AM", "Yoga - Start: Nov 1, 18 6:00 PM - End: Nov 1, 18 7:33 PM", "Local Pub with Friends - Start: Nov 1, 18 7:33 PM - End: Nov 1, 18 11:00 PM", "Football Game - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Football Tailgate with John - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Volleyball With Friends - Start: Nov 6, 18 12:00 PM - End: Nov 6, 18 1:26 PM", "Boba Tea Grand Opening - Start: Nov 6, 18 1:27 PM - End: Nov 6, 18 2:00 PM", "Evening Cookout with Friends - Start: Nov 6, 18 5:00 PM - End: Nov 6, 18 10:00 PM", "SF Coffee Festival - Start: Nov 6, 18 6:00 PM - End: Nov 6, 18 9:00 PM", "Roller Derby - Start: Nov 7, 18 12:00 PM - End: Nov 7, 18 2:30 PM", "Rock Concert - Start: Nov 7, 18 6:30 PM - End: Nov 7, 18 11:00 PM", "Lunch with Friends - Start: Nov 8, 18 11:30 AM - End: Nov 8, 18 12:59 PM", "Nap Break - Start: Nov 8, 18 12:56 PM - End: Nov 8, 18 1:30 PM", "Basketball Game - Start: Nov 8, 18 7:30 PM - End: Nov 8, 18 10:30 PM", "Lunch Meeting - Start: Nov 9, 18 12:30 PM - End: Nov 9, 18 2:30 PM", "Free Donuts - Start: Nov 9, 18 3:00 PM - End: Nov 9, 18 4:00 PM", "TV Show Marathon - Start: Nov 9, 18 4:30 PM - End: Nov 9, 18 9:00 PM", "Beer with Friends - Start: Nov 9, 18 8:00 PM - End: Nov 9, 18 9:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM", "Dentist Appointment - Start: Nov 10, 18 1:45 PM - End: Nov 10, 18 2:30 PM", "Evening Picnic - Start: Nov 10, 18 6:00 PM - End: Nov 10, 18 7:00 PM"]
    let myArray2 = ["Football Tailgate with John - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "Football Game - Start: Nov 3, 18 6:14 PM - End: Nov 3, 18 9:44 PM", "SF Coffee Festival - Start: Nov 6, 18 6:00 PM - End: Nov 6, 18 9:00 PM", "Evening Cookout with Friends - Start: Nov 6, 18 5:00 PM - End: Nov 6, 18 10:00 PM", "Nap Break - Start: Nov 8, 18 12:56 PM - End: Nov 8, 18 1:30 PM", "Lunch with Friends - Start: Nov 8, 18 11:30 AM - End: Nov 8, 18 12:59 PM", "Beer with Friends - Start: Nov 9, 18 8:00 PM - End: Nov 9, 18 9:30 PM", "TV Show Marathon - Start: Nov 9, 18 4:30 PM - End: Nov 9, 18 9:00 PM", "Dentist Appointment - Start: Nov 10, 18 1:45 PM - End: Nov 10, 18 2:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM", "Birthday Party - Start: Nov 10, 18 12:30 PM - End: Nov 10, 18 8:30 PM"]

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return myArray1.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = myTableViewOutlet.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! myTableViewCellClass
    cell.myLabel.text = myArray1[indexPath.row]

    return cell
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {

    var searchValue = myArray1[indexPath.row]
    for v in myArray2
    {
        if v == searchValue {
            let highlightColor: UIColor? = UIColor(white: 0.7, alpha: 0.5)
            cell.backgroundColor = highlightColor
        }
    }
}





}
相关问题