Как сделать SVG-изображения в iphone без uiwebview?
Я хочу отображать 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 framework, и другие, и я также не могу добавить эту структуру.
Я думаю, что приложение предназначено для 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) Ожидаемый спецификатор-квалификатор-listbefore 'xmlParserCtxtPtr'.
Кто-нибудь знает, как решить проблему и заставить ее работать?
Ответы
Ответ 1
Джейсон Моррисси, автор чрезвычайно превосходного приложения Alien Blue, лучший клиент iOS Reddit в магазине (можете ли вы сказать, что я фанат? Я также бета-тестер.) недавно поднял свой SVGKit, которая отображает SVG-изображения в качестве слоев Core Animation. Я не использовал его, но знаю, что он существует.
И затем, посмотрите... Если вы просто получаете много ошибок при приведении в классы других людей, мое сильное подозрение в том, что вы не следуете инструкциям "как использовать". В основном они расскажут вам, какие рамки необходимы и какие платформы они поддерживают. Каждый раз, когда я пытался использовать что-то вроде этого и имел комбат крови, я вернулся и нашел какой-то шаг инструкции по установке, который я пропустил.
Ответ 2
Мне просто удалось скомпилировать SVGFlashRenderer.
Для iOS вам нужно открыть проект из каталога SVGRendererTouch.
И не забудьте отдельно загрузить содержимое каталога lib/MROGeometry из github (просто следуйте ссылке в исходном дереве).
P.S. Для меня лучшим рабочим решением был SVGKit, но не версия от Джейсона Морисси (упомянутая в другом ответе), но fork из reklis. У него исправлено множество ошибок и работает гораздо правильнее.
Ответ 3
Это легко.
SVGKImage *svgImg = [SVGKImage imageNamed:@"add-control-panel"];
SVGKFastImageView *imgView = [[SVGKFastImageView alloc] initWithFrame:CGRectMake(10, 100, 420, 280)];
imgView.image = svgImg;
[self.view addSubview:imgView];