Не могу использовать UICollectionView в UIInputViewController для расширения клавиатуры - PullRequest
0 голосов
/ 19 сентября 2018

Я создал подкласс UICollectionView, который я хочу использовать для предоставления клавиш в UIInputViewController в качестве расширения клавиатуры.Но я обнаружил, что попытка создать экземпляр UICollectionView приведет к сбою клавиатуры при каждом переключении пользователя на нее.Думая, что это может быть связано с моим подклассом UICollectionView, я попытался заменить его простым UICollectionView, но это вызвало ту же проблему.Я даже пытался просто создать экземпляр объекта, но ничего с ним не делал, как в приведенном ниже фрагменте, но он все равно разбил клавиатуру.

//  KeyboardViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];

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

Я не могу получить отладку на клавиатуре, потому что отладчикприсоединяется к процессу основного приложения, поэтому я не могу сказать, что вызывает сбой.Я был бы очень признателен за любую информацию о том, возможно ли использовать UICollectionView для расширения клавиатуры, и если да, то как я могу обойти эту проблему.

1 Ответ

0 голосов
/ 19 сентября 2018

Оказывается, что проблема была вызвана простым импортом заголовка для подкласса UICollectionView, хотя я его не использовал.Когда я удалил импорт, я смог создать простой UICollectionView и добавить его в качестве подпредставления клавиатуры.

Это означало, что мне пришлось сделать несколько довольно неприятных вещей, чтобы абстрагировать методы делегата и источника данных в отдельныйкласс, чтобы их можно было многократно использовать, но это работает.

...