Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 执行segue时隐藏键盘转换_Ios_Swift - Fatal编程技术网

Ios 执行segue时隐藏键盘转换

Ios 执行segue时隐藏键盘转换,ios,swift,Ios,Swift,我目前正在为我的应用程序进行注册,我有3个ViewController和一个文本字段。我想隐藏这些视图控制器之间的任何键盘转换 例如: 当我在VC:A时,我正在用一个打开的键盘执行一个到VC:B的序列,然后一个新的文本字段将成为第一个响应者,一个小的键盘转换将可见。(首先,键盘关闭,然后新字段的键盘再次打开) 那么,如何才能使多个视图控制器的键盘保持全局打开状态呢?要使多个视图控制器的键盘保持全局打开状态,您必须将文本视图.becomeFirstResponder()放在您的视图控制器中。(在加

我目前正在为我的应用程序进行注册,我有3个ViewController和一个文本字段。我想隐藏这些视图控制器之间的任何键盘转换

例如: 当我在VC:A时,我正在用一个打开的键盘执行一个到VC:B的序列,然后一个新的文本字段将成为第一个响应者,一个小的键盘转换将可见。(首先,键盘关闭,然后新字段的键盘再次打开)


那么,如何才能使多个视图控制器的键盘保持全局打开状态呢?

要使多个视图控制器的键盘保持全局打开状态,您必须将
文本视图.becomeFirstResponder()
放在您的视图控制器中。(在加载页面时,您需要显示键盘)。为每个文本字段设置
IBOutlet

 @IBOutlet weak var textView: UITextField!
    override func viewDidLoad() {
        super.viewDidLoad()
         textView.becomeFirstResponder()
    }
实现此功能后,如果在模拟器中看不到任何键盘,只需按-

  • cmd+k
  • shift+cmd+k

  • 仅对模拟器执行此操作。谢谢。

    这可能不是最好的方法,你可以像孩子一样添加第二个VC

    @IBAction func btnClicked(_ sender: Any) {
    
        let vc = self.storyboard?.instantiateViewController(withIdentifier: "dd") as! secViewController
    
        self.addChildViewController(vc)
    
         self.view.addSubview(vc.view)
    
        // illusion of push VC
    
        vc.view.frame = CGRect.init(x: self.view.frame.width, y: 0 , width: self.view.frame.width, height: self.view.frame.width)
    
        UIView.animate(withDuration: 0.5 , animations: {
    
                  vc.view.frame = CGRect.init(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.width)
    
            }
    
         )
    
        vc.didMove(toParentViewController: self)
    
    }
    

    解决方案是使用一个自定义UINavigationController,该控制器带有一个不可见或隐藏的UITextField(只需将帧归零并将其添加到子视图),您可以将其设置为成为加载时的第一响应者


    从这里开始,每次转换视图时将其设置为第一响应者,并在ViewDidDisplay上设置真正的文本字段。

    我目前就是这样做的。ViewController之间仍有一个小键盘转换(闪烁)。你是说键盘出现时的黑色空间?谢谢帮助!。不幸的是,我需要所有的风投都打包在一个navigationController@dfi你有没有想过如何做到这一点?