我有一款应用在 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/