无法在UIInputViewController中使用UICollectionView进行键盘扩展

问题描述 投票:0回答:1

我创建了一个UICollectionView子类,我想用它来提供UIInputViewController中的键作为键盘扩展。但我发现尝试实例化UICollectionView会导致键盘在用户切换到它时崩溃。认为它可能与我的UICollectionView子类有关,我尝试用普通的UICollectionView替换它,但这导致了同样的问题。我甚至尝试过实例化对象,但没有对它做任何事情,如下面的摘录,但它仍然使键盘崩溃。

//  KeyboardViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];

    UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
}

我无法在键盘上进行任何调试,因为调试器附加到主应用程序的进程,所以我无法分辨导致崩溃的原因。我真的很感激关于是否可以在键盘扩展上使用UICollectionView的任何输入,如果是这样,我如何解决这个问题。

ios uicollectionview ios-keyboard-extension uiinputviewcontroller
1个回答
0
投票

事实证明,问题是由于简单地导入UICollectionView子类的标头引起的,即使我没有使用它。当我删除导入时,我能够实例化一个普通的UICollectionView并将其添加为键盘的子视图。

这意味着我必须做一些相当讨厌的事情来将委托和数据源方法抽象到一个单独的类中,以便它们可以重用,但它可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.