[英]How to create dropdown with icon and custom text colors in swift?
我想在 tableview 單元格中使用下拉菜單,我試圖使用 AssistoLab / ( https://github.com/AssistoLab/DropDown )DropDown 庫,但問題是我必須為下拉菜單選項文本提供不同的 colors。 就我的 R & D 而言,AssistoLab/DropDown 是不可能的。 如果有人有一些想法請幫助我。
import UIKit
import DropDown
class AddWorkoutCategoryTableViewCell: UITableViewCell {
@IBOutlet weak var dropDownView: UIView?
let dropDown = DropDown()
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func configureGenderDropDown() {
let blackColor = UIColor.black // 1.0 alpha
let defaultDropDownBackgroundColor = blackColor.withAlphaComponent(0.7) // 0.8 alpha
DropDown.appearance().textColor = UIColor.white
dropDown.anchorView = dropDownView
DropDown.appearance().selectedTextColor = UIColor.red
DropDown.appearance().textFont = UIFont.systemFont(ofSize: 15)
DropDown.appearance().backgroundColor = defaultDropDownBackgroundColor
DropDown.appearance().selectionBackgroundColor = UIColor.black
DropDown.appearance().cellHeight = 40
dropDown.selectRow(at: 3)
dropDown.dataSource = ["Sendworkout", "Edit Workout", "Duplicate workout", "Delete workout"]
}
}
//ViewController.swift
import UIKit
import DropDown
class ViewController: UIViewController {
@IBOutlet weak var btn: UIButton!
let dropDown = DropDown()
override func viewDidLoad() {
super.viewDidLoad()
let a = UILabel()
dropDown.dataSource = ["pencil.circle", "scribble", "trash.fill"]
let icons = ["pencil.circle", "scribble", "trash.fill" ]
dropDown.anchorView = btn
dropDown.cellNib = UINib(nibName: "MyDropDownCell", bundle: nil)
dropDown.customCellConfiguration = { (index: Index, item: String, cell: DropDownCell) -> Void in
guard let cell = cell as? MyDropDownCell else { return }
// can use attrubted string for colored text
cell.myText.text = "Hello \(index)"
cell.logoImageView.image = UIImage(systemName: icons[index])
}
}
@IBAction func go(_ sender: Any) {
dropDown.show()
}
}
//
// MyDropDownCell.swift
//
// Created by developer on 6/3/21.
//
import UIKit
import DropDown
class MyDropDownCell: DropDownCell {
@IBOutlet weak var logoImageView: UIImageView!
@IBOutlet weak var myText: UILabel!
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.