【发布时间】:2018-07-12 14:14:19
【问题描述】:
我在 UIStackView 中以编程方式创建了一些 UIButton。 StackView 是原始视图控制器的子视图。
如何通过点击按钮呈现另一个视图控制器?
我曾尝试控制拖动以创建从原始控制器到目标控制器的转场,并尝试使用 self.performSegue(withIdentifier: "showMealTable", sender: self) 进行导航。
但它在运行时抛出错误说 "..has no segue with identifier 'showMealTable''".
这是我的 StackView 类
@IBDesignable class TimeLineHeadControl: UIStackView {
//MARK: Properties
private let timeLineControllerInstance = TimeLineController()
....
button.addTarget(self.timeLineControllerInstance, action: #selector(TimeLineController.breakfastButtonTapped(button:)), for: .touchUpInside)
....
}
还有我原来的视图控制器
class TimeLineController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//self.performSegue(withIdentifier: "showMealTable", sender: self)
}
...
@objc func breakfastButtonTapped(button: UIButton) {
print("at Time Line Controller")
self.performSegue(withIdentifier: "showMealTable", sender: self)
}
...
}
【问题讨论】: