【发布时间】:2018-10-20 04:02:57
【问题描述】:
我正在使用 swift 4
我有一个标签栏控制器,我在其中以编程方式在标签栏中间创建了一个按钮。单击按钮后,我想执行 segue 并显示下一个视图。我创建了从 tabar 视图到下一个视图的 segue,并将其命名为 moveToNext。
这是按钮
let button = UIButton.init(type: .custom)
override func viewDidLoad() {
super.viewDidLoad()
let blue = UIColor(red: 53/255, green: 92/255, blue: 125/255, alpha: 1.0)
UITabBar.appearance().tintColor = blue
button.setTitle("+", for: .normal)
button.titleLabel?.font = .systemFont(ofSize: 32)
button.setTitleColor(.white, for: .normal)
button.setTitleColor(.white, for: .highlighted)
button.backgroundColor = blue
button.layer.cornerRadius = 32
button.layer.borderWidth = 1.5
button.layer.borderColor = blue.cgColor
//button.layer.borderColor = UIColor.green.cgColor
button.addTarget(self, action:#selector(self.buttonClicked), for: .touchUpInside)
self.view.insertSubview(button, aboveSubview: self.tabBar)
UITabBar.appearance().backgroundImage = UIImage.colorForNavBar(color: .white)
UITabBar.appearance().shadowImage = UIImage.colorForNavBar(color: blue)
}
@objc func buttonClicked() {
print("Button Clicked")
self.performSegue(withIdentifier: "moveToNext", sender: self)
}
我收到以下错误
'Receiver (<Pac.CustomTabBarViewController: 0x7fc94285be00>) has no segue with identifier 'moveToNext''
*** First throw call stack:
我是 swift 和 Xcode 的新手,来自 java 背景。
我认为我正确地执行了转场。为什么它找不到 segue,我如何通过单击按钮来触发它?
感谢您花时间阅读并帮助我。
【问题讨论】:
-
在发这篇文章之前我已经看到了。我说在我拖过去的故事板上做了一个segue并命名它。
-
我觉得跟tabbar有关系
-
你需要将segue标签栏拖到下一个视图控制器
-
您能否分享您制作的 segue 的屏幕截图,其中源视图控制器和目标视图控制器也在现场,右侧的属性检查器也打开了?