Я использую swift с jonkykong / SideMenu и вместо этого создаю меню программно для создания меню с жестким кодом.
Я добавляю меню с помощью:
SideMenuTableViewController.swift
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if let menu = MyMethod.getMenu() {
for (index, value) in menu.enumerated() {
//All the logic to create the view with the label
let tap = UITapGestureRecognizer(target: self,
action: #selector (self.selectMenuItem (_:)))
subItem.addGestureRecognizer(tap)
subItem.addSubview(subLabel)
container.addSubview(subItem)
}
}
return container
}
@objc public func selectMenuItem(_ sender: AnyObject) {
let value = sender.view!.customValue
switch value {
case "item1":
let vc = instantiateViewController(identifier: "mainViewController", type: MainViewController.self)
displayVC(viewController: vc)
case "item2":
let vc = instantiateViewController(identifier: "secondVC", type: SecondViewController.self)
displayVC(viewController: vc)
default:
print("")
}
}
public func displayVC<T: UIViewController>(viewController:T){
let backItem = UIBarButtonItem()
backItem.title = ""
if(self.navigationController?.navigationBar.barTintColor == UIColor.white){
backItem.tintColor = UIColor.black
}
navigationItem.backBarButtonItem = backItem
self.navigationController?.navigationItem.backBarButtonItem = backItem
self.navigationController?.pushViewController(viewController, animated: true)
}
Но каждый раз, когда я запрашиваю боковое меню, которое я получаю в консоли:
Несбалансированные вызовы, чтобы начать / закончить переходы появленияfor.
И не вызывает ли viewDidLoad
viewDidAppear
или viewWillAppear
.
Существующий способ исправить это?