在我的View控制器中,我有一个表格视图。我在表视图单元格中有一个按钮。当我点击按钮时,它会添加一个弹出菜单。单元格确实选择了进入另一个视图控制器的功能。第一次弹出菜单显示完美。但是当我选择一个单元格进入另一个视图时当我回到第一个视图控制器并单击一个按钮时,我的弹出菜单将不显示。我使用这个库弹出。POPUP。我的第一个VC的代码是
//
// ViewController.swift
// abc
//
// Created by G Azam on 8/23/17.
// Copyright © 2017 Rumy. All rights reserved.
//
import UIKit
import Popover
class FirstViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UIPopoverPresentationControllerDelegate,janina{
//,janina
fileprivate var texts = ["Edit", "Delete", "Report"]
fileprivate var popover: Popover!
fileprivate var popoverOptions: [PopoverOption] = [
.type(.up),
.blackOverlayColor(UIColor(white: 0.0, alpha: 0.6))
]
var tableViewtem = UITableView()
func load(sender: Any) {
tableViewtem = UITableView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 135))
tableViewtem.delegate = self
tableViewtem.dataSource = self
tableViewtem.isScrollEnabled = false
self.popover = Popover(options: self.popoverOptions)
self.popover.willShowHandler = {
print("willShowHandler")
}
self.popover.didShowHandler = {
print("didDismissHandler")
}
self.popover.willDismissHandler = {
print("willDismissHandler")
}
self.popover.didDismissHandler = {
print("didDismissHandler")
}
self.popover.show(tableViewtem, fromView: sender as! UIView)
}
@IBAction func work(_ sender: Any) {
}
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.none
}
@IBOutlet weak var testone: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
testone.delegate = self
testone.dataSource = self
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == testone{
return 5
}else{
return 3
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableView == testone{
let cell = tableView.dequeueReusableCell(withIdentifier: "ha", for: indexPath) as! test
cell.delegate = self
return cell
}else{
let cell = UITableViewCell(style: .default, reuseIdentifier: nil)
cell.textLabel?.text = self.texts[(indexPath as NSIndexPath).row]
return cell
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if tableView == tableViewtem{
print("here♀️")
self.popover.dismiss()
}else{
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ok") as! secondVC
self.navigationController?.pushViewController(vc, animated: true)
}
}
}
我的第一个VC表格视图单元格代码如下所示
//
// test.swift
// abc
//
// Created by G Azam on 8/23/17.
// Copyright © 2017 Rumy. All rights reserved.
//
import UIKit
import Popover
protocol janina {
func load(sender: Any)
}
class test: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
var delegate: janina?
@IBAction func action(_ sender: Any) {
delegate?.load(sender: sender)
}
}
我在第二个视图控制器中什么都没有,它只是一个UIView控制器类。所以为什么它不能在第二次工作?