祝您有美好的一天。我使用Tableview创建了一个菜单,我想在此菜单的顶部添加徽标和标签,就像在android图像中一样。如何使菜单看起来像在Android上一样?在创建的表格视图中,显示菜单的名称和图标。与Android一样,我想在菜单顶部添加徽标。
class MyMenuTableViewController: UITableViewController {
let keychain = KeychainSwift()
private let menuOptionCellId = "Cell"
var selectedMenuItemLogin : Int = 0
var selectedMenuItem : Int = 0
let menuItem : [String] = ["Giriş"]
let menuIteminLogin : [String] = ["MENUITEM1" , "MENUITEM2" , "MENUITEM3","MENUITEM4"]
override func viewDidLoad() {
super.viewDidLoad()
tableView.contentInset = UIEdgeInsets(top: 64.0, left: 0, bottom: 0, right: 0)
tableView.separatorStyle = .singleLine
tableView.backgroundColor = UIColor(hex: 0x464646)
tableView.scrollsToTop = false
clearsSelectionOnViewWillAppear = false
let loginKeychain = keychain.get("LoginSuccess")
tableView.selectRow(at: IndexPath(row: selectedMenuItem, section: 0), animated: false, scrollPosition: .middle)
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return menuIteminLogin.count
}
var imageinLoginCell : [String] = ["gift.png" , "clock.png", "graphic.png","graphic.png"]
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: menuOptionCellId)
if loginKeychain == "2" {
cell!.textLabel?.text = menuIteminLogin[indexPath.row]
cell!.imageView!.image = UIImage(named: imageinLoginCell[indexPath.row])
cell!.textLabel?.font = UIFont(name: "Helvetica-Bold", size: 18)
cell?.textLabel?.textAlignment = .right
if let myImage = UIImage(named: imageinLoginCell[indexPath.row]) {
let tintableImage = myImage.withRenderingMode(.alwaysTemplate)
cell!.imageView!.image = tintableImage
}
cell!.imageView!.tintColor = UIColor.white
if (indexPath.row == 2){
cell!.backgroundColor = UIColor(hex: 0xcf0700)
cell!.textLabel?.font = UIFont(name: "Helvetica-Bold", size: 19)
}
}
return cell!
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 50.0
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let loginKeychain = keychain.get("LoginSuccess")
if loginKeychain == nil {
if (indexPath.row == selectedMenuItem) {
return
}
selectedMenuItem = indexPath.row
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
var destViewController : UIViewController
switch (indexPath.row) {
case 0:
destViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoginViewNew")
break
default: destViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoginViewNew")
break
}
sideMenuController()?.setContentViewController(destViewController)
....
}
}
答案 0 :(得分:0)
使用“ tableView(_ tableView:UITableView,viewForHeaderInSection部分:Int)-> UIView?” 并且此功能用于高度“ tableView(_ tableView:UITableView,heightForHeaderInSection部分:Int)-> CGFloat” 它将停留在顶部,列表将在其下方滚动。