Swift 5. 如何在按钮触摸时显示或显示 ViewController?没有故事板(以编程方式)
Swift 5. How present or show ViewController on button touch? Without Storyboard (programmatically)
如何 show()
或 persent()
VC 触摸按钮?我应该写什么代码?
首先,使用故事板
如果您正在使用故事板。你应该连接你的按钮视图故事板。
@IBAction fileprivate func handlePresentingView(_ sender: UIButton) {
let vc = SecondVC()
present(vc, animated: true, completion: nil)
}
二、程序化
1: 如果您以编程方式工作
在 viewDidLoad
中添加以下行。
mybutton.addTarget(self, action: #selector(handlePresentingVC(_:)), for: .touchUpInside)
2:你的操作方法
@objc func handlePresentingVC(_ sender: UIButton) {
let vc = SecondVC()
present(vc, animated: true, completion: nil)
}
In my example, I'm assuming that you don't have a storyboard file for
your SecondVC
view controller.
If SecondVC
is connected to a storyboard view controller, you will
need to change the instantiation of your secondVC
object inside of
your button's action method.
1: Select 你的故事板中的 SecondVC 的视图控制器。
2:给它添加一个Storyboard ID。
3:将按钮的操作方法更改为以下内容。
@objc func handlePresentingVC(_ sender: UIButton) {
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
let secondVc = storyboard.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC
present(secondVc, animated: true, completion: nil)
}
在Swift5和iOS13
默认的模式呈现样式是卡片。这会在顶部显示上一个视图控制器,并允许用户滑开显示的视图控制器。
要保留旧样式,您需要像这样修改按钮操作方法中的视图控制器:
secondVc.modalPresentationStyle = .fullScreen
这对于以编程方式创建的控制器和故事板创建的控制器都是相同的。
如何 show()
或 persent()
VC 触摸按钮?我应该写什么代码?
首先,使用故事板
如果您正在使用故事板。你应该连接你的按钮视图故事板。
@IBAction fileprivate func handlePresentingView(_ sender: UIButton) {
let vc = SecondVC()
present(vc, animated: true, completion: nil)
}
二、程序化
1: 如果您以编程方式工作
在 viewDidLoad
中添加以下行。
mybutton.addTarget(self, action: #selector(handlePresentingVC(_:)), for: .touchUpInside)
2:你的操作方法
@objc func handlePresentingVC(_ sender: UIButton) {
let vc = SecondVC()
present(vc, animated: true, completion: nil)
}
In my example, I'm assuming that you don't have a storyboard file for your
SecondVC
view controller.If
SecondVC
is connected to a storyboard view controller, you will need to change the instantiation of yoursecondVC
object inside of your button's action method.
1: Select 你的故事板中的 SecondVC 的视图控制器。
2:给它添加一个Storyboard ID。
3:将按钮的操作方法更改为以下内容。
@objc func handlePresentingVC(_ sender: UIButton) {
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
let secondVc = storyboard.instantiateViewController(withIdentifier: "SecondVC") as! SecondVC
present(secondVc, animated: true, completion: nil)
}
在Swift5和iOS13
默认的模式呈现样式是卡片。这会在顶部显示上一个视图控制器,并允许用户滑开显示的视图控制器。
要保留旧样式,您需要像这样修改按钮操作方法中的视图控制器:
secondVc.modalPresentationStyle = .fullScreen
这对于以编程方式创建的控制器和故事板创建的控制器都是相同的。