Pull to refresh

Comments 9

60 FPS на iPhone 15 Pro

там же адаптивное оно, может быть 10 а может быть 120

С какой-то из осей (не вспомню), ниже 60 программно запретили. На WWDC в одном из видео было. Не буду искать, извините, полдня займет поиск видео. Да и при современных процессорах 10 уже и добиться сложно будет.

Это тот самый случай, когда "можем" не значит "нужно".

стоит вынести в заголовок. можно даже только одно то и оставить :)

Согласен, важнее ощущение плавности. И да, меньше анимаций обычно лучше

Да порой открываешь сайт, а там целые мультфильмы на экране из компонентов. На десктопе это бы еще и выглядело, но в мобиле оно просто не к месту.

// Плохо: размер вычисляется динамически
Text(product.title)    
  .font(.largeTitle)

// Хорошо: фиксируем высоту
Text(product.title)    
  .font(.largeTitle)    
  .frame(height: 40, alignment: .leading)

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

Если не использовать динамический шрифт, то работает безотказно и всегда. Linelimit затримит текст - это не всегда подходит. Если у вас текста на две строки и фрейм не задать то при изменении и пересчете фреймов других элементов на экране, получаем некрасивые скачки элемента с текстом на экране. А если у вас такой текст в ячейке списка, то получаем неимоверную красоту. Linelimit не во всех случаях поможет. И еще раз уточню, что мое предложение установить жесткий фрейм - это ситуация, где мы получаем скачки элементов из-за наличия анимаций - довольно не частая ситуация. Если не использовать динамический шрифт, то работает безотказно и всегда. Linelimit затримит текст - это не всегда подходит. Если у вас текста на две строки и фрейм не задать то при изменении и пересчете фреймов других элементов на экране, получаем некрасивые скачки элемента с текстом на экране. А если у вас такой текст в ячейке списка, то получаем неимоверную красоту. Я для себя пока нашел такое решение. Предлагайте свое, я ж не претендую на единственно верное решение. И нейросети использую только для генерации картинок. Зря вы так. Даже грамматику им не даю проверять.

что в вашем понятии "динамический шрифт"? У меня в проектах по 20-30 языков, и одна и та же надпись может быть как короткой, так и длинной. У вас в проектах только английский и шрифт system regular?

Да даже .font(.largeTitle) - шрифт без явного указания размера вы предлагаете ограничить высотой 40px. Откуда это магическое число и откуда такая уверенность, что туда все влезет?

 Linelimit затримит текст - это не всегда подходит.

по поводу этого я не понял. Вы предлагаете ограничить не количество строк, а фрейм. У вас же тоже будет сокращаться текст.

А решение я уже предложил выше.

.font(.largeTitle) - это динамический шрифт. Его размер пользователь может увеличивать в настройках телефона ползунком. И, да, согласен, для динамического шрифта, хардить фрейм - плохое решение. При увеличении юзером, например до 150% от просто не влезет во фрейм. Но если шрифт задан строго 20 поинтов и его захардкоженный фрейм его вмещает, то проблем не будет.

И все мною приведенное не относится к локализованным приложениям. Этот контекст в статье не рассматривается. Но и lineLimit при локализации использовать ИМХО тоже не подходит. В одном переводе тайтл в три слова, а в другом языке - это уже может быть не одна, а две строки. Тут получим обрезание текста и троеточие.

Ну и если поделитесь инструментом, который позволяет автоматизировать локализацию на 20-30 языков, буду очень благодарен. Или все «руками» переводите?

Sign up to leave a comment.

Articles