2013-12-21 1 views
6

В моем приложении iOS нам нужно изменить цвет значков на основе пользовательской конфигурации. Это один из наших важных бизнес-вариантов.Использование значка svg или шрифта в приложениях ios

Один из моих друзей посоветовал мне использовать значок .svg или шрифта. И поделился мной этим link

Они создают веб-приложения во время разработки приложения для iOS. Поддерживает ли IOS эту технику? Если да, как я могу его использовать?

Редактировать

Я нашел SVGKit, который используется для приложений iPhone/IPad. Есть ли библиотека привязки для ее использования в моноточе?

ответ

5

SVG-шрифты (пути) легко конвертировать в исходный код. Как только у вас есть это, очень просто сделать их разными цветами, размерами (iphone/ipad) или разрешениями (например, сетчаткой).

Вот, что я сделал here. Это для более старой версии FontAwesome, но ее можно использовать как (или обновленную до последней) для вашего приложения.

+0

как я вижу, это для Mac, я не могу открыть его студией xamarin и monotouch. Мой вопрос об использовании svg в приложениях ios. Является ли это возможным? –

+0

Я нашел этот https://github.com/SVGKit/SVGKit, который, похоже, предназначен для использования в приложениях iphone/ipad. Есть ли библиотека привязки для ее использования в моноточе? –

+0

Вы не выглядели достаточно далеко. Tere представляет собой демонстрацию iOS ** результатов **, но преобразование из SVG в исходный код выполняется на Mac (или Windows), поскольку это может происходить компиляция (исходного кода). https://github.com/spouliot/svgpath2code/tree/master/AwesomeDemo – poupou

0

Если вам просто нужно изменить цвет иконок, вы, вероятно, может решить эту проблему без SVG. Просто используйте цвета оттенков.

Создание шаблона изображения:

let templateImage = UIImage(named: "bla_bla")?.withRenderingMode(.alwaysTemplate) 

Затем добавить его к кнопке или зрения изображения и установить tintColor:

button.setImage(templateImage, for: .normal) 
button.setImage(templateImage, for: .highlighted) 

button.tintColor = UIColor.blue 

Это решение работает только для монохромных иконок!

Кроме того, если вы хотите .svg, вы можете использовать WKWebView, это очень быстро и не вызовет накладных расходов, если у вас ограниченное количество значков.

Смежные вопросы