Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 斯威夫特5。如何在按钮触摸时显示或显示ViewController?没有故事板(以编程方式)_Ios_Swift_Viewcontroller - Fatal编程技术网

Ios 斯威夫特5。如何在按钮触摸时显示或显示ViewController?没有故事板(以编程方式)

Ios 斯威夫特5。如何在按钮触摸时显示或显示ViewController?没有故事板(以编程方式),ios,swift,viewcontroller,Ios,Swift,Viewcontroller,如何在按钮触摸时显示()或保持()VC?我应该写什么代码 首先,使用故事板 如果您正在使用故事板。您应该连接按钮视图情节提要 @IBAction fileprivate func handlePresentingView(_ sender: UIButton) { let vc = SecondVC() present(vc, animated: true, completion: nil) } 第二,以编程方式 1:如果您以编程方式工作 在viewDidLoad中添加以下行

如何在按钮触摸时显示()或保持()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)
  }
在我的示例中,我假设您没有用于 您的
SecondVC
查看控制器

如果
SecondVC
连接到情节提要视图控制器,您将 需要在中更改
secondVC
对象的实例化 你的按钮的动作方法

1:在故事板中选择第二个VC的视图控制器

@IBAction fileprivate func handlePresentingView(_ sender: UIButton) {
  let vc = SecondVC() 
  present(vc, animated: true, completion: nil)
}
2:向其中添加情节提要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)
  }

在Swift 5和iOS 13中

默认的模态表示样式是卡片。这将在顶部显示上一个视图控制器,并允许用户滑动显示的视图控制器

要保留旧样式,需要修改按钮动作方法内部的视图控制器,如下所示:

secondVc.modalPresentationStyle = .fullScreen

这对于以编程方式创建的控制器和脚本创建的控制器都是一样的。

当我使用此代码时,它向我发送了一个问题:
尝试在不在窗口层次结构中的视图上显示
你能提供你的
viewDidLoad
代码以及你的按钮操作方法吗?你可以尝试在你的按钮操作方法中添加以下行:
secondVc.modalPresentationStyle=.fullScreen
显示和
显示
之间的区别是什么?我理解segues的区别,但不理解警报。