WKInterfaceGroup интервал не идеально 0 иногда (WatchKit)
Я установил группу в своем Storyboard WatchApp, которая имеет ширину относительно контейнера 1 и высоту относительно контейнера 0.5. Внутри этой группы у меня 20 выровненных по горизонтали групп шириной относительно контейнера 0,05. Интервал группы установлен в 0, но когда я устанавливаю цвет фона для всех групп, я получаю вот так.
Как вы можете видеть, некоторые интервалы действительно равны нулю, но иногда есть небольшой разрыв около 1 пикселя. Это какая-то ошибка? Можно ли идеально выровнять группы так, чтобы это выглядело как один сплошной фон? Пожалуйста, не говорите мне, что я могу установить цвет фона первой группы. Очевидно, я знаю, что мне нужно, чтобы это работало так! Спасибо!
1 ответ
Я полагаю, что проблема заключается в том, что ширина экрана не делится поровну на 20. Ширина экрана 42 мм составляет 312 пикселей, а деление на 20 - 15,6 пикселей. Apple, вероятно, усекает это до целочисленного значения для производительности, что приводит к пробелам.
Я воспроизвел вашу проблему, а затем, чтобы проверить свою теорию, я создал 8 групп вместо 20 и установил их ширину 0,125. Это привело к отсутствию пробелов, что имеет смысл, так как 312 делится на 8.
32-миллиметровые часы имеют ширину 272 пикселя и, делая разложение на два, я получил:
272 = 2 * 2 * 2 * 2 * 17
312 = 2 * 2 * 2 * 3 * 13
Что показывает, что восемь столбцов - это максимум, на который вы можете равномерно разделить оба размера.
Если вам нужно иметь 20 столбцов, то я бы установил для каждого фиксированную ширину, некоторые на 15, а некоторые на 16 пикселей для 42 мм и 13/14 пикселей для 32 мм, чтобы получить нужный макет.