UIViewControllerHierarchyInconsistency 仅在 iOS 8 和 Xcode 6 中导致应用程序崩溃

2024-03-17

我有一个在 iOS 7 和 Xcode 5 中运行良好的应用程序。当我将其更新到 iOS 8 和 Xcode 6 时,当点击文本字段时应用程序尝试在视图中向上滑动 UIDatePicker 时,它会崩溃。 我正在使用故事板。 有人知道为什么吗?

我读过这篇文章,但它是针对 Xib 的。

应用程序在 IOS 6 上崩溃 - UIViewControllerHierarchyInconsistency https://stackoverflow.com/questions/12641833/app-crashes-on-ios-6-uiviewcontrollerhierarchyinconsistency

请帮忙 谢谢

my code:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{

    //set picker color start
    [self.myDatePicker setBackgroundColor:[UIColor greenColor]];


    //set picker color finish
    //calculate bounds start
    CGRect textFieldRect = [self.view.window convertRect:textField.bounds fromView:textField];
    CGRect viewRect = [self.view.window convertRect:self.view.bounds fromView:self.view];
    //calculate bounds finish
    //calculate the fraction between the top and bottom of the middle section for the text field's midline start
    CGFloat midline = textFieldRect.origin.y + 0.5 * textFieldRect.size.height;
    CGFloat numerator = midline - viewRect.origin.y
    - MINIMUM_SCROLL_FRACTION * viewRect.size.height;
    CGFloat denominator = (MAXIMUM_SCROLL_FRACTION - MINIMUM_SCROLL_FRACTION)
    * viewRect.size.height;
    CGFloat heightFraction = numerator / denominator;
    //calculate the fraction between the top and bottom of the middle section for the text field's midline finish
    //Clamp this fraction so that the top section is all "0.0" and the bottom section is all "1.0 start
    if (heightFraction < 0.0)
    {
        heightFraction = 0.0;
    }
    else if (heightFraction > 1.0)
    {
        heightFraction = 1.0;
    }
    //Clamp this fraction so that the top section is all "0.0" and the bottom section is all "1.0 finish
    /*start
     Now take this fraction and convert it into an amount to scroll by multiplying by the keyboard height for the current screen orientation. Notice the calls to floor so that we only scroll by whole pixel amounts */
     UIInterfaceOrientation orientation =
     [[UIApplication sharedApplication] statusBarOrientation];
     if (orientation == UIInterfaceOrientationPortrait ||
     orientation == UIInterfaceOrientationPortraitUpsideDown)
     {
     animatedDistance = floor(PORTRAIT_KEYBOARD_HEIGHT * heightFraction);
     }
     else
     {
     animatedDistance = floor(LANDSCAPE_KEYBOARD_HEIGHT * heightFraction);
     }
     //finish
    //Finally, apply the animation start
    CGRect viewFrame = self.view.frame;
    viewFrame.origin.y -= animatedDistance;

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDuration:KEYBOARD_ANIMATION_DURATION];
    [self.view addSubview:self.myDatePicker];
    [self.view setFrame:viewFrame];

    [UIView commitAnimations];


}
    //Finally, apply the animation finish
    //Animate back again start

我的崩溃日志

2014-09-14 13:12:52.930 Pay 2014-15 free[2191:83060]
 *** Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', 
reason: 'child view controller:<UICompatibilityInputViewController: 0x7be0a570> should have parent view controller:<AddHoursViewController: 0x7c38e800> but requested parent is:<UIInputWindowController: 0x7c238a00>'
*** First throw call stack:
(
    0   CoreFoundation                      0x02101df6 __exceptionPreprocess + 182
    1   libobjc.A.dylib                     0x01d8ba97 objc_exception_throw + 44
    2   CoreFoundation                      0x02101d1d +[NSException raise:format:] + 141
    3   UIKit                               0x008cff9c -[UIViewController _addChildViewController:performHierarchyCheck:notifyWillMove:] + 210
    4   UIKit                               0x00f4b44d -[UIInputWindowController changeToInputViewSet:] + 576
    5   UIKit                               0x00f4c1be __43-[UIInputWindowController setInputViewSet:]_block_invoke + 103
    6   UIKit                               0x007f73bf +[UIView(Animation) performWithoutAnimation:] + 82
    7   UIKit                               0x00f4bf9c -[UIInputWindowController setInputViewSet:] + 374
    8   UIKit                               0x00ce9101 __64-[UIPeripheralHost(UIKitInternal) setInputViews:animationStyle:]_block_invoke1459 + 43
    9   UIKit                               0x00f473af -[UIInputWindowController performOperations:withAnimationStyle:] + 56
    10  UIKit                               0x00ce9006 -[UIPeripheralHost(UIKitInternal) setInputViews:animationStyle:] + 1242
    11  UIKit                               0x00ce91df -[UIPeripheralHost(UIKitInternal) setInputViews:animated:] + 73
    12  UIKit                               0x00ce922b -[UIPeripheralHost(UIKitInternal) setInputViews:] + 68
    13  UIKit                               0x00ce1478 -[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:] + 1803
    14  UIKit                               0x0092be95 -[UIResponder(UIResponderInputViewAdditions) reloadInputViews] + 316
    15  UIKit                               0x0092b1dc -[UIResponder becomeFirstResponder] + 562
    16  UIKit                               0x007f1de0 -[UIView(Hierarchy) becomeFirstResponder] + 114
    17  UIKit                               0x00fb7ffb -[UITextField becomeFirstResponder] + 51
    18  UIKit                               0x00bbde8f -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) setFirstResponderIfNecessary] + 200
    19  UIKit                               0x00bc04b6 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] + 2762
    20  UIKit                               0x00bb3d27 _UIGestureRecognizerSendActions + 327
    21  UIKit                               0x00bb25a4 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 561
    22  UIKit                               0x00bb45ed -[UIGestureRecognizer _delayedUpdateGesture] + 60
    23  UIKit                               0x00bb7f6a ___UIGestureRecognizerUpdate_block_invoke661 + 57
    24  UIKit                               0x00bb7e2d _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 317
    25  UIKit                               0x00babd36 _UIGestureRecognizerUpdate + 3720
    26  UIKit                               0x007c771b -[UIWindow _sendGesturesForEvent:] + 1356
    27  UIKit                               0x007c857f -[UIWindow sendEvent:] + 769
    28  UIKit                               0x0078daa9 -[UIApplication sendEvent:] + 242
    29  UIKit                               0x0079d8de _UIApplicationHandleEventFromQueueEvent + 20690
    30  UIKit                               0x00772079 _UIApplicationHandleEventQueue + 2206
    31  CoreFoundation                      0x020257bf __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
    32  CoreFoundation                      0x0201b2cd __CFRunLoopDoSources0 + 253
    33  CoreFoundation                      0x0201a828 __CFRunLoopRun + 952
    34  CoreFoundation                      0x0201a1ab CFRunLoopRunSpecific + 443
    35  CoreFoundation                      0x02019fdb CFRunLoopRunInMode + 123
    36  GraphicsServices                    0x0394624f GSEventRunModal + 192
    37  GraphicsServices                    0x0394608c GSEventRun + 104
    38  UIKit                               0x00775e16 UIApplicationMain + 1526
    39  Pay 2014-15 free                    0x0014ed7d main + 141
    40  libdyld.dylib                       0x0736cac9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) `enter code here`

您可以以编程方式创建日期选择器,或者如果您将其用作拖入组件,请执行以下给定的步骤

1.以编程方式创建

 datePicker = [[UIDatePicker alloc]init];
[datePicker setDate:[NSDate date]];
//NSString *maxDateString = @"01-Jan-2012";
NSString *theMinimumDate = @"01-Jan-1976";
// the date formatter used to convert string to date
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// the specific format to use
dateFormatter.dateFormat = @"dd-MMM-yyyy";
// converting string to date
NSDate *theMaximumDate = [NSDate date];//[dateFormatter dateFromString: maxDateString];
NSDate *theminimumDate = [dateFormatter dateFromString: theMinimumDate];

// repeat the same logic for theMinimumDate if needed
// here you can assign the max and min dates to your datePicker
[datePicker setMaximumDate:theMaximumDate];//the max age restriction (if needed, or else dont use this line)
[datePicker setMinimumDate:theminimumDate]; //the min age restriction

// set the mode
[datePicker setDatePickerMode:UIDatePickerModeDate];
// Do any additional setup after loading the view from its nib.
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];

// and finally set the datePicker as the input mode of your textfield
[Textfield setInputView:datePicker];

2.来自锡布

[self.DatePickerView removeFromSuperview];
[Textfield setInputView:self.DatePickerView];
[Textfield setInputView:self.DatePickerView];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIViewControllerHierarchyInconsistency 仅在 iOS 8 和 Xcode 6 中导致应用程序崩溃 的相关文章

  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • 在 Instruments 中查找内存泄漏行

    我是 iOS 中的仪器新手 我正在尝试使用 Xcode 4 5 2 并按照本教程查找仪器中的内存泄漏 http soulwithmobiletechnology blogspot sg 2011 04 how to check memory
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL
  • 在 iOS 上从 GPS 获取时间

    我正在开发一个跟踪器应用程序 该应用程序需要高精度地了解设备位置 即它使用位置服务并忽略水平精度低于 20 米的位置 CLLocation没有明确声明是否通过 GPS 确定 但是 如果水平精度为 20 米或更好 则可以认为它是来自 GPS
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • FBFriendPickerViewController 未显示所有好友

    我正在使用 FBFriendPickerViewController 在我的 iOS 应用程序中显示要邀请的朋友列表 它仅显示安装了该应用程序的好友列表 为什么是这样 我还在我的应用程序中直接与 Facebook sdk 交互 以使用 Gr
  • 如何消除禁用的 UIButton 的灰色外观

    我有一个 UIButton 我希望它处于禁用状态时与处于正常状态时看起来完全相同 现在它看起来有点灰色 不要使用enabled属性或setEnabled NO方法 而是使用 myButton setUserInteractionEnable
  • iOS崩溃核心位置CFBasicHashCreateCopy?

    我已经通过 Crashlytics 报告了这个问题 尽管我无法在本地复制它 所以除了下面的堆栈跟踪之外我没有什么可做的 不确定堆栈跟踪中是否引用了 CoreLocation与它有任何关系 但我不确定可能是什么原因 我的项目使用的是ARC 有
  • 使用 Unity 在 iOS 应用程序上发送电子邮件时出错

    我正在开展一个学校项目 我正在尝试记录从我统一制作的游戏中存储的数据 我的问题是我想通过电子邮件将数据发送到应用程序 一切正常 电子邮件与数据一起发送等 但是当我将应用程序构建到 iOS 设备时 它不会发送电子邮件 我在 Unity 中没有
  • 在 cocoa touch 中以编程方式将视图位置设置为右上角

    我需要确保一个视图 A 尺寸 200x200 始终与第二个视图 B 全屏尺寸 内的右上角对齐 我想确保无论设备方向如何 视图 A 都保留在该位置 事实是 当使用界面生成器来定位视图时 我对此没有任何问题 但我需要以编程方式构建它 我想我应该
  • xcodebuild 命令工具,无需安装 Xcode 本身

    我需要在不会进行任何开发的机器上以自动化流程构建 Xcode 项目 我还想节省该机器上的磁盘空间 我以为xcodebuild命令行将是完美的 但要安装该工具 您需要安装 Xcode 本身 有没有办法只安装xcodebuild和其他依赖项 我
  • iOS Safari 通过单击按钮触发扫描信用卡

    您好 我目前正在创建一个测试应用程序 当用户单击文本字段名称或卡号时 扫描信用卡功能对我有用 我的问题是 我希望当用户单击 button1 时发生同样的情况 这应该打开相机来扫描卡并填充现有的文本字段 即名称 卡号和到期日期 额外的好处是
  • 在 macOS 上通过 Apache 本地运行 Xcode DocC 文档

    Xcode 13 的 DocC 文档档案可以使用自定义 Apache 托管 htaccess文件中描述的向外部开发人员分发文档 https developer apple com documentation xcode distributi
  • 每次 UIScrollView 释放时都会发生内存泄漏

    在我的应用程序中 我有一个滚动视图和四个表格视图 每次拖动然后释放时 我都会泄漏 48 字节 这确实很重要 正如您所看到的 两组泄漏都有相同的来源 有人见过这样的泄漏吗 Edit 1 当我单击泄漏旁边的箭头时 我会得到泄漏的以下信息 您所看
  • 在 iPhone 中保存会话数据

    我想将数据存储在应用程序中的不同点 以便应用程序中的对象可以访问这些数据 类似于 php 中的 session 或全局变量 我知道我可以使用 NSUserDefaults 但我不确定如何继续向它添加值然后访问它 例如 首先我想存储登录期间使
  • WKWebView:无需 Javascript 即可缩放PageToFit 行为

    如何获得scalesPageToFit显示在 HTML 内容中的行为WKWebView 不使用 JavaScript 在我们的例子中需要禁用 JS 抱歉没有发布任何代码 但我不知道如何实现这一目标 我所知道的和我找到的所有解决方案都是基于J
  • 如何使用libxml解析来解析xml数据

    这是一个我想使用libxml解析来解析的xml结构 我如何获取 campaign 标签的属性值 即ID对于 图像 标签 即url and size 如果我使用这些值 我可以提取 code 标签和 name 标签的值 static const
  • 通过 Apple 批量购买计划分发自定义 B2B iOS 应用程序?

    我们的要求是为组织内超过 1000 名用户分发 iOS 应用程序 我的问题 我们可以做吗使用 iOS Developer Provisioning Profile 分发 iPA 因为我们有 99 美元的 Apple 帐户 而不是企业帐户 并
  • 在 PDFView 表单字段中配置键盘设置

    我正在开发一个应用程序 它从服务器加载 PDF 文件并在 PDFView 中显示这些 PDF 文件 这些文件包含用户要在其中键入内容的表单字段 这很好用 PDF 文件将用于教育环境 其中拼写应not可以自动更正并且预测文本应该not能得到的

随机推荐

  • 如何使用 ggplot2 设置图例 alpha

    我有一张风速与方向的图表 其中有大量的点 因此除了 color month 之外 我还使用 alpha I 1 20 这是代码示例 library RMySQL library ggplot2 con lt dbConnect wind l
  • Jersey,如何 POST JSON 对象列表?

    我正在使用 Jersey 1 11 在 Java 中构建 RESTful Web 服务 并且在实现使用 JSON 化实体列表的方法时遇到问题 单实例方法工作正常 我得到的错误是 Status 400 Bad Request The requ
  • Android 中的 PEM 到 PublicKey

    我见过很多类似的问题 但没有一个对我有用 我只是想将从服务器检索到的 PEM 格式的 RSA 公钥转换为PublicKey在安卓中 有人能指出我正确的方向吗 编辑 我已成功使用以下代码将 PEM 转换为 PublicKey 但在对消息进行编
  • .csproj 的平台特定 ItemGroup 适用于程序集引用,但不适用于内容包含?

    由于我们有三个显式 x86 和 x64 版本的程序集 因此我编辑了相应的 csproj 文件以使用 例如 如下所示的块
  • 在 OpenGL-ES 2.0 中渲染多个 2D 图像

    我是 OpenGL 新手 正在尝试学习 ES 2 0 首先 我正在开发一款纸牌游戏 需要渲染多个纸牌图像 我跟着这个http www learnopengles com android lesson four introducing bas
  • Redux 框架在插件中使用时不工作

    我将使用 redux 框架作为我的插件选项 它显示在管理面板中 我可以保存设置 我使用了选项面板的示例配置文件 所以问题是我没有通过打印全局来获取选项值opt name多变的 如果我将 redux 框架配置文件添加到主题functions
  • CSS/HTML:在输入字段周围创建发光边框

    我想为我的表单创建一些像样的输入 并且我真的很想知道 TWITTER 如何在输入周围制作发光边框 Twitter 边框示例 图片 我也不太知道如何创建圆角 干得好 glowing border border 2px solid dadada
  • Eclipse:如何有选择地禁用某些注释中的拼写检查

    我使用的是 Eclipse Kepler 版本 如何禁用评论内的拼写检查 我确实看到 窗口 首选项 常规 编辑器 文本编辑器 拼写 但此表没有关于禁用注释内拼写检查的选项 理想情况下 我想禁用特定评论的拼写检查 在其他地方 拼写检查注释可能
  • 如何在 pygame 中进行二段跳?

    有人可以帮我调试我的代码吗 因为我不明白为什么我不能让我的角色用多个空格键进行双跳 当我运行脚本时 我可以向上 向下 向左 向右移动 但是一旦我按一次空格键 对象就会飞出窗口 问题出在这个 if 语句上 所以我猜测这个 if 语句会继续运行
  • 绑定 UserControl 依赖属性和 MVVM

    我有一个包含 UserControl 的 MainWindow 两者都以 MVVM 模式实现 MainWindowVM 具有我想要绑定到 UserControl1VM 中的属性的属性 但这行不通 这是一些代码 视图模型使用某种 mvvm 框
  • 将异步获取的数据传递给子 props

    我正在制作一个应用程序 它从远程源获取一系列新闻项目并将其显示在页面上 我有端点 并且可以使用控制台日志证明可以进行成功的调用 getJSON 我将此调用放入父组件中 因为子组件需要使用数据 但是 当我将此数据传递给子组件时 会出现控制台错
  • DataStorage 和查询未实现将 indexed=False 更改为 True

    在我的模型中 我有一个属性设置为indexed False 要在投影中使用它 我必须将其更改为indexed True 但令人惊讶的是 现在执行查询不会给出任何结果 始终为空 任何重新索引表的提示或为什么结果集为空 https develo
  • 如何正确配置QDockWidget使其显示/隐藏?

    我是 Qt GUI 的新手 最初想配置一个 Qt Dock 小部件 该小部件在按下某个键 假设为 A 时显示 并在按下另一个键 假设为 B 时隐藏 但经过一番研究 我没有找到任何相关的解决方案 我尝试创建一个切换按钮 第一次按下时将显示停靠
  • Postgres 中的 NOCYCLE

    我有一个 Oracle 查询NOCYCLE我必须将其翻译为 Postgres 的条款 SELECT FG ID CONNECT BY ROOT FG ID as Parent ID FROM FG t START WITH t Parent
  • Networkx:可视化 MultiGraph 时重叠边缘

    以下多重图使用 graphviz neato 正确绘制 即平行边不重叠 生成 png 如图所示 这个答案 https stackoverflow com questions 14943439 how to draw multigraph i
  • npm install 上出现 ENOTDIR 错误(节点 4 上的 npm 3。我知道:旧版。抱歉 :( )

    首先 我很抱歉在这里报告 npm3 的问题 但看起来旧的存储库当前处于只读模式 我们有一个又大又旧的 AngularJS 前端应用程序 它需要 Node4 并使用 npm3 几天前 有人执行 npm install 时出现了一个问题 err
  • Python doctest:跳过整个块?

    我有一个在类方法中包含文档字符串的 Python 模块 以及模块文档字符串中的一个真实示例 区别在于方法文档字符串经过精心设计 成为完全可重复的测试 而现实世界的示例只是 Linux shell 历史记录的复制粘贴 它碰巧调用了 pytho
  • Apache JMeter 的 Cookie 管理器未将 cookie 添加到 POST 请求

    我制定了非常简单的测试计划 登录 POST 返回会话cookie 获取状态 GET 返回用户状态 创建资源 POST 为资源提供 JSON 正文 所以我的 测试计划 如下所示 Test Plan Thread Group HTTP 请求默认
  • $_SESSION 设置为有效登录后 isset() 不起作用

    我有这个 loginform php 和这部分代码 这是从带有登录表单的 index php 调用的 include config php if isset POST submit username POST username passwo
  • UIViewControllerHierarchyInconsistency 仅在 iOS 8 和 Xcode 6 中导致应用程序崩溃

    我有一个在 iOS 7 和 Xcode 5 中运行良好的应用程序 当我将其更新到 iOS 8 和 Xcode 6 时 当点击文本字段时应用程序尝试在视图中向上滑动 UIDatePicker 时 它会崩溃 我正在使用故事板 有人知道为什么吗