点击时TextField消失

Posted

技术标签:

【中文标题】点击时TextField消失【英文标题】:TextField disappearing when tapped 【发布时间】:2016-02-09 05:05:05 【问题描述】:

使用Xcode 7.2.1,我设置了一些textFields。某些时候,当我在视图控制器中时,当点击 textField 时,所有 subviews 都会从 self.view 中消失。

所有约束都得到满足,我什至尝试将它们固定在许多令人满意的组合中,结果相同。

发生这种情况后,当我查看视图调试器时,self.view 中的所有 subviews 都找不到。

我很困惑为什么会这样。

【问题讨论】:

您能否编辑问题并提供您的 viewController 的完整源代码?这样我们就可以发现是否有任何逻辑错误 @HitendraHckr 感谢您提供帮助,但是我能够通过提供的答案弄清楚 【参考方案1】:

当我在显示(有问题的)视图控制器的注销视图控制器中调用 popToRootViewController() 时,必须处理该问题。

在segue之前弹出时,所有视图在被segue的视图控制器中消失:

  @IBAction func onLogoutTapped(sender: AnyObject) 
    backendless.userService.logout( (object) -> Void in
      self.navigationController?.popToRootViewControllerAnimated(false)
      self.performSegueWithIdentifier("profileToLoginSegue", sender: self)
      )  (fault) -> Void in
      print("Server reported an error: \(fault)")
    
  

但是,当我在闭包中调用 popToRootViewController() 时,模态呈现的(以前有问题的)视图控制器正常运行:

  @IBAction func onLogoutTapped(sender: AnyObject) 
    backendless.userService.logout( (object) -> Void in
      self.performSegueWithIdentifier("profileToLoginSegue", sender: self)
        self.navigationController?.popToRootViewControllerAnimated(true)
      )  (fault) -> Void in
      print("Server reported an error: \(fault)")
    
  

我不确定这是为什么,但肯定是问题所在。

【讨论】:

以上是关于点击时TextField消失的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 表单 TextField 在 iOS 13.2 中的普通 UINavigationViewController 中包装时消失

仅在单击完成按钮时将 UIPickerView 选择添加到 TextField

如何防止 TextField 在 SwiftUI 列表中消失?

点击另一个 TextField 时,SwiftUI TextField 不会提交更改

键盘出现/消失时调整带有 TextField 的 SwiftUI 列表

用户点击字段时如何将 textFieldStyle 切换为 TextField?