【发布时间】:2014-12-10 16:20:36
【问题描述】:
对类似问题的回答没有帮助,所以我要提出一个新问题。
我现在的几个项目中都有这个问题:
点击第一响应者 UITextField 或 UITextView(这通常会打开用于复制和粘贴的默认上下文菜单)会导致我的应用程序崩溃。
注意: UICalloutBarButton 是一个UIKit 私有API,因此没有机会更改其layoutSubviews 实现并在其中调用[super layoutSubviews]。
日志消息:
*** Assertion failure in -[UICalloutBarButton layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2935.137/UIView.m:8794
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. UICalloutBarButton's implementation of -layoutSubviews needs to call super.'
我不知道为什么会出现这种情况。非常乐意提供任何帮助。
编辑
尝试在演示项目中重现崩溃我发现它是导致崩溃的自定义UIView 类别。有关详细信息,请参阅已接受的答案。
【问题讨论】:
-
可以肯定您配置错误。您需要提供一些关于如何配置内容的线索,尤其是与文本选择相关的内容。也许检查this answer 以获取线索。
-
@Hot Licks 感谢您的评论。明天将举一个发生这种情况的例子。
-
你能分享部分代码和/或情节提要发生的地方吗?还是一些演示项目?
标签: ios objective-c uitextfield uikit uitextview