Приложение tvOS создает игровое поле с использованием SKNodes, которое выглядит следующим образом:
Каждая форма, разделенная линиями, представляет собой SKNode, который является фокусируемым (например, каждый цветной клин состоит из 5 SKNodes, которые постепенно уменьшаются по размеру ближе к центру).
Моя проблема заключается в том, что движок фокуса не фокусирует следующий пункт фокусировки (SKNode), который будет выглядеть как логический, наиболее естественный следующий node для фокусировки. Эта проблема связана с тем, что логика ядра фокусировки является прямоугольной, а мои SKNodes изогнуты. Как вы можете видеть ниже, существуют неотъемлемые проблемы при попытке выяснить следующий элемент с возможностью фокусировки при прокрутке вниз от внешнего желтого SKNode:
В приведенном выше примере движок фокуса вычитает, что в настоящее время сфокусированная область является областью в красно-заштрихованном прямоугольнике на основе краев node. Благодаря этой логике сфокусированный прямоугольник перекрывает области, которые не являются частью фокусированного в настоящее время node, включая всю ширину второго желтого SKNode. Поэтому при прокрутке вниз двигатель фокусировки пропускает фокус на третий (средний) желтый SKNode.
Как бы решить проблему этого фокуса, чтобы фокус был более естественным как по вертикали, так и по горизонтали для моего кругового игрового поля SKNodes без кажущегося столь спорадического? Это возможно? Возможно, с UIFocusGuides?