На главном экране моего приложения tvOS я использую UITapGestureRecognizer, чтобы наблюдать за нажатием кнопки Menu. В зависимости от того, что на экране, мне нужно обрабатывать его по-разному, но, очевидно, в некоторых случаях я хочу интерпретировать это меню как «выход на главный экран». Я не могу найти API, который будет делать это чисто. exit(0)
находится так близко, как я могу найти, и это похоже на крушение - приложение исчезает внезапно без эффекта перехода. Есть ли API, который я могу использовать? Благодаря!tvOS - как вернуться к главному экрану программно
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer *tapGestureRec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(consumeTap:)];
tapGestureRec.allowedPressTypes = @[@(UIPressTypeMenu)];
[self.navigationController.view addGestureRecognizer:tapGestureRec];
}
- (void)handleTap:(id)_
{
if (ShouldExitNow()) exit(0);
}
NSURLSessionTask.suspend? Этот API не предназначен для перехода на главный экран вообще ... он может работать случайно, но я уверен, что это не предназначенная функциональность. – StilesCrisis
@StilesCrisis Я согласен, но, похоже, для этого не существует никакого * чистого * способа. Лучше, чем использовать 'exit (0)' как минимум. –
Ну, я нашел и разместил решение, которое прекрасно работает, не полагаясь на недокументированный API. Вы должны жонглировать добавлением/удалением обработчика, но все это находится в документированном API. Трюк, подобный этому, может привлечь ваше приложение. – StilesCrisis