Как рендерить изображения SVG в iphone без uiwebview? - PullRequest
17 голосов
/ 07 июля 2011

Я хочу рендерить изображения SVG на iPhone без использования UIWebView.Как я могу это сделать?

Я проверил эти 2 ссылки:

http://www.splashdust.net/2010/09/svgquartzrenderer-a-basic-iphone-sdk-compatible-svg-renderer/ https://github.com/splashdust/SVGQuartzRenderer

Вышеупомянутый проект на Github показывает 102 ошибки, показывая UIKitрамки отсутствуют и другие, и я также не могу добавить эту структуру.Я думаю, что приложение предназначено для MacOS, а не для iOS.

http://maniacdev.com/2011/05/open-source-library-to-render-svg-graphics-as-core-animation-layers/
https://github.com/mattrajca/SVGKit

Проект по указанному выше URL-адресу показывает ошибку при сборке проекта.

Target указывает тип продукта 'com.apple.product-type.framework', но такого типа продукта для платформы iPhoneOS нет.

Кто-нибудь знает, как решить эту проблему?Или другие полезные рабочие примеры, которые я могу использовать для этого?Я хочу рендерить SVG на iPhone.

ОБНОВЛЕНИЕ: у меня есть рабочий SVGKit, который работает, читая инструкции.Но когда я попытался заставить проект работать, который я скачал с Github (https://github.com/splashdust/SVGQuartzRenderer), я получил следующие ошибки:

1) UIKit / UIKit.h: нет такого файла или каталога (я не могучтобы добавить его с помощью добавления существующего фреймворка)
2) Libxml / tree.h: такого файла или каталога нет
3) Ожидаемый список спецификаторов-определителей перед «xmlParserCtxtPtr».Кто-нибудь знает что как решить и заставить это работать?

Ответы [ 3 ]

20 голосов
/ 07 июля 2011

Джейсон Моррисси, автор превосходного приложения Alien Blue, лучшего клиента iOS Reddit в магазине (можете ли вы сказать, что я фанат? Я также бета-тестер.) Недавно выставил свой SVGKit фреймворк, который визуализирует изображения SVG как слои Core Animation. Я не использовал его, но знаю, что он существует.

И потом, смотрите ... если вы просто получаете много ошибок, когда вводите уроки других людей, я сильно подозреваю, что вы не следуете их инструкциям "как пользоваться". Они в основном скажут вам, какие платформы требуются и какие платформы они поддерживают. Каждый раз, когда я пытался использовать что-то вроде этого и имел кровавую баню компиляции, я возвращался и обнаруживал какой-то шаг инструкции по установке, который пропустил.

6 голосов
/ 31 января 2012

Мне только что удалось скомпилировать SVGFlashRenderer.Для iOS вам нужно открыть проект из каталога SVGRendererTouch.И не забудьте отдельно загрузить содержимое каталога lib / MROGeometry из github (просто перейдите по ссылке в дереве исходников).

PS Для меня лучшим рабочим решением был SVGKit, но не версия изДжейсон Морисси (упоминается в другом ответе), но вилка из реклиса .В ней исправлено много ошибок, и она работает намного более корректно.

0 голосов
/ 17 июля 2015

Это просто.

SVGKImage *svgImg = [SVGKImage imageNamed:@"add-control-panel"];
SVGKFastImageView *imgView = [[SVGKFastImageView alloc] initWithFrame:CGRectMake(10, 100, 420, 280)];
imgView.image = svgImg;
[self.view addSubview:imgView];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...