ios - 使用 SpriteKit 和 UITextView 的 UITextSelectionView 名称无法识别的选择器

标签 ios objective-c crash sprite-kit uitextview

我有一款应用在 iOS 8.0 上运行良好,直到切换到 8.1。当我在 SpriteKit 游戏中创建 UITextView 时,出现以下错误:

-[UITextSelectionView name]: unrecognized selector sent to instance 0x7f96ee6bdfa0

如果我在代码中创建对象或在我的 xib 文件中放置一个 UITextView,就会发生这种情况。

层次结构如下所示:

UIViewController(self.view 是一个 SKView)-> UIView -> UITextView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        UITextView *test = [[UITextView alloc] init];
    }
    return self;
}

知道问题可能是什么以及为什么突然出现吗?

最佳答案

问题最终是在 SpriteKit 场景中使用 performSelector:withObject:afterDelay:。一旦我用 SKAction 替换了这些事件,它就解决了 UITextView 问题。

旧代码:

[self performSelector:@selector(methodName) withObject:nil afterDelay:1.0];

新代码:

SKAction *action   = [SKAction performSelector:@selector(methodName) onTarget:self];
SKAction *wait     = [SKAction waitForDuration:1.0];
SKAction *sequence = [SKAction sequence:@[wait, action]];
[self runAction:sequence];

关于ios - 使用 SpriteKit 和 UITextView 的 UITextSelectionView 名称无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768032/

相关文章:

qt - 从场景中删除QGraphicsProxyWidget后崩溃

swift3 - 应用因在iPv6上崩溃而被拒绝

Objective-C ARC __weak 变量引用触发警告 "__weak attribute cannot be specified on an automatic variable"

iphone - 在 Objective C 中创建 JSON 格式

iphone - 如何以编程方式切换到 UITabBarController 中的另一个选项卡?

ios - 数据交给UIPasteBoard是深拷贝还是浅拷贝?

ios - 由于未捕获的异常 'NSRangeException' 而终止应用程序,原因 : '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array

ios - 为什么这段代码会按这个顺序执行?寻找流程的解释

ios - 触发自动向另一个表添加记录

iphone - 解决从苹果公司获得iphone崩溃日志的步骤