- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我花了一天的时间试图找出与文本字段的 inputView 相关的我的应用程序崩溃。我试过制作一个测试项目来重现崩溃。这是我所拥有的:
class ViewController: UIViewController {
let keyboardVC = KeyboardViewController()
override func viewDidLoad() {
super.viewDidLoad()
keyboardVC.view.backgroundColor = .blue
let textField = UITextField()
textField.inputView = keyboardVC.view
textField.backgroundColor = .red
view.addSubview(textField)
}
}
如果我在文本字段上点击一次,一切都会按预期工作,显示我的蓝色 View 而不是键盘。但是,如果我在 inputView 动画期间多次点击 textField,应用程序会崩溃并出现以下异常:
*** Terminating app due to uncaught exception
'UIViewControllerHierarchyInconsistency', reason: 'child view
controller:<Test.KeyboardViewController: 0x7ff53c008f20> should have
parent view controller:<UICompatibilityInputViewController:
0x7ff539403a40> but requested parent is:<UICompatibilityInputViewController: 0x7ff53940e330>'
我可能遗漏了一些明显的东西,但我无法弄清楚发生了什么......感谢任何帮助:)
谢谢!
最佳答案
问题在于您试图将另一个 View Controller 的 View 添加到带有文本字段的 View Controller 。
尝试以下操作:
let inputView = UIView(frame: CGRect(x:0,y:0,width:keyboardVC.view.frame.width, height: keyboardVC.view.frame.height))
inputView.addSubview(keyboardVC.view)
addChildViewController(keyboardVC)
keyboardVC.didMove(toParentViewController: self)
textField.inputView = inputView
关于ios - 使用 UIViewController 的 View 作为 UITextField 的 inputView 时抛出“UIViewControllerHierarchyInconsistency”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49760557/
分配时遇到 UIViewControllerHierarchyInconsistency 异常, txtFieldDelegate.view = self.view; txtFirstName.de
我知道这个问题以前发布过,但我找到的答案与这种情况不符 运行2年前在Xcode 4.5.1中编写的应用程序后出现异常。 这是: exception 'UIViewControllerHierarchy
我在选择器上方创建了一个带有两个按钮的工具栏,并在 ios7 上工作,当我在 ios8 中运行时崩溃: Terminating app two to uncaught exception 'UIVie
我在 XCode 4.1 上为 iOs 4.3 开发我的应用程序,但昨天我用 iOs 5.0 SDK 将它更新到 XCode 4.2。 当我在 iphone 4.3 模拟器中运行我的应用程序时,它运行
尝试使用以下代码呈现模态视图 Controller MapViewController *mapView = [[MapViewController alloc] initWithNibName:@"
我已经使用 MonoTouch 2.8 和其他相关更新升级到 iOS 5。我有一个 UIViewController,其中有一个 UITabBarController,其中为 View 配置了两个不同
iOS7、Xcode 和 5 一切都很好 - 升级到 Xcode 6 和 iOS8 后,应用程序突然崩溃,而它一直工作正常。 崩溃时显示的错误是: Terminating app due to unc
我在 UINavigationController 中使用 ABPersonViewController 来显示和编辑联系信息。到目前为止,这一直使用最新的 xcode 版本(当前为 4.5.2)和
我有一个使用 CollapsableTableView 的 iPhone 应用程序。升级到 iOS 6 后,应用程序崩溃并出现以下错误。 "A view can only be associated
我有这样的 View Controller 结构:UINavigationController(root view controller)->UIViewController .在我的 UIViewC
当我尝试显示 UIAlertController在我的应用程序中,应用程序终止并出现异常 UIViewControllerHierarchyInconsistency . View Controlle
我正在开发一个 iPad 应用程序,它有一个 View Controller (称为 ContentViewController),其中有 3 个不同的 View 。 slider View - 从底
我的应用程序运行良好,直到我更新到 Xcode 4.5 并在 IOS 6 上运行它。现在它崩溃了,但有一个异常(exception)——UIViewControllerHierarchyInconsi
在我更新到 ios6 之前,我有一个完美的项目。 当我点击一个栏项目以显示带有 View 的弹出窗口时,应用程序崩溃了...... 这是我得到的错误 "reason: 'A view can
我在更新我的一个旧应用程序时遇到问题,这只是因为我更新到 Xcode 4.5 并尝试在 iOS6 上出现以下错误; *** Terminating app due to uncaught except
我在 iPad 5.0 上遇到奇怪的崩溃问题。此崩溃仅发生在 iOS 5.0 和带有模态 ViewController 的 iPad 上,并且 ViewControler 样式设置为全屏以外的任何内容
我有一个在 iOS 7 和 Xcode 5 中运行良好的应用程序。当我将它更新到 iOS 8 和 Xcode 6 时,当应用程序试图在点击文本字段时在 View 中向上滑动 UIDatePicker
我有一个带有几个按钮的操作表。此操作表在方向更改后重新定位。以下代码在方向更改期间使用: [self.onlineActionsheet dismissWithClickedButtonIndex:
我花了一天的时间试图找出与文本字段的 inputView 相关的我的应用程序崩溃。我试过制作一个测试项目来重现崩溃。这是我所拥有的: class ViewController: UIViewContr
我是一名优秀的程序员,十分优秀!