我已经创建了一个UICollectionView子类,我希望使用该子类将UIInputViewController中的键作为键盘扩展提供。但我发现,尝试实例化UICollectionView将导致键盘在用户切换到它时崩溃。考虑到这可能与我的UICollectionView子类有关,我尝试用普通的UICollectionView替换它,但这导致了同样的问题。我甚至试着实例化这个对象,但没有对它做任何事情,如下面的摘录所示,但它仍然敲击键盘。
// KeyboardViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
UICollectionView *collect = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
}我无法在键盘上进行任何调试,因为调试器连接到主应用程序的进程,所以我无法判断是什么导致了崩溃。我很想知道是否可以在键盘扩展上使用UICollectionView,如果可以的话,我将如何解决这个问题。
发布于 2018-09-19 18:45:49
事实证明,这个问题是由于导入UICollectionView子类的头部而引起的,即使我没有使用它。当我删除导入时,我能够实例化一个普通的UICollectionView并将它添加为键盘的一个子视图。
这意味着我不得不做一些相当讨厌的事情,将委托和数据源方法抽象到一个单独的类中,这样它们才能被重用,但它可以工作。
https://stackoverflow.com/questions/52395622
复制相似问题