【问题标题】:Can not make view firstResponder in viewDidAppear method无法在 viewDidAppear 方法中查看 firstResponder
【发布时间】:2016-01-21 19:29:33
【问题描述】:

我有 UIViewController 并为其视图创建了我的自定义类。顺便说一句,我在该类中重新定义了方法“canBecomeFirstResponder”,因此它始终返回 true。当调用 viewDidAppear 方法时,我希望我的视图成为第一响应者。但是在我转到另一个控制器并回来后,我的程序崩溃了。无法理解为什么会这样。这是一些代码:

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)

    self.firstResponder = self.view.isFirstResponder()
}

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    if(self.firstResponder){
        self.view!.becomeFirstResponder()
    }
}

【问题讨论】:

  • @jtbandes EXC_BAD_ACCESS on becomeFirstResponder 函数。它甚至没有达到 canBecomeFirstResponder 方法
  • 确实出现了视图崩溃?
  • @Mr.T 在 becomeFirstResponder 函数的 viewDidAppear 方法中是
  • 为什么需要self.view上的感叹号! ?

标签: ios objective-c swift


【解决方案1】:

这个链接对我帮助很大。 https://stackoverflow.com/a/21906038/4092466 我不应该将属性命名为“firstResponder”。当我重命名它时,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多