Интересно, что это вопрос для интервью!
Вы можете проектировать кнопки в PaintCode, который преобразует ваши рисунки в код. Предположительно, с Core Graphics, производительность лучше, и она должна выглядеть хорошо, независимо от размера устройства. PaintCode говорит о преимуществах: «Независимость разрешения & Другие преимущества Нет больше @ 2x ресурсов. Будущее доказательство. Создание динамических, параметрических чертежей легко».
Для получения дополнительной информации я бы уточнил FAQ, Question 2. Вот несколько первых абзацев:
Использование изображений PNG для рисования пользовательских интерфейсов является утомительным. PNG-изображения: не зависит от разрешения, поэтому вам необходимо предоставить множество вариантов для всех видов дисплеев. Некоторые эффекты также сложны (если не невозможно) для достижения растровых изображений. Например, вам может понадобиться , чтобы нарисовать что-то со сложным изменением размера, или вы можете хотеть, чтобы изменил цвет рисунка на основе некоторых внешних условий.
Лучшим подходом, чем использование изображений, является использование кода Objective-C или Swift для рисования пользовательского интерфейса. Код не зависит от разрешения и очень гибкий, поэтому он отлично работает на всех видах дисплеев.
На стороне примечания, однако, я считаю, что гораздо проще использовать изображения, чем PaintCode. Позиционирование элементов, принимая во внимание вставки в самом изображении по сравнению с вставкой в коде, на практике вызывает множество проблем. И PaintCode использует пружины и распорки, а также помогает в определении размеров изображений на разных устройствах, но при этом следует соблюдать осторожность при объединении с ограничениями макета в раскадровке. Есть вещи, которые вы можете сделать в PaintCode, чтобы сделать вашу жизнь немного, но для того, чтобы действительно ее повесить, требуется определенная практика. Создание изображений с изображением @ 2x и @ 3x на самом деле не так уж и плохо, поэтому, если вы можете избежать PaintCode, я просто хочу избежать головной боли.
Большое спасибо, если бы я мог проголосовать за это, то получите его. –
Вы можете принять его как ответ, хотя без голосования. –