【问题标题】:Can't use UICollectionView in UIInputViewController for keyboard extension无法在 UIInputViewController 中使用 UICollectionView 进行键盘扩展
【发布时间】:2018-09-18 22:51:15
【问题描述】:

我创建了一个 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】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多