Как мне включить библиотеку Tortuga 22 NinePatch в мой проект XCode? - PullRequest
5 голосов
/ 04 июня 2010

Прежде всего, наконец-то появилась поддержка NinePatch для iPhone, большое спасибо команде Tortuga 22 за это. К сожалению для меня, я не смог добавить их библиотеку в свой проект.

Если я просто перетаскиваю исходные файлы в свой проект, я получаю массу ошибок "Нет такого файла или каталога". Если я ссылаюсь на файл libNinePatch.a как на внешний каркас, я получаю тот же результат.

Как правильно это сделать? С их стороны нет никаких инструкций, поэтому я думаю, что должен быть довольно простой способ сделать это.

Заранее спасибо.
// Abeansits

Ответы [ 5 ]

1 голос
/ 05 февраля 2014

Я просто хочу сказать всем, кто все еще борется с этим, что я загрузил podspec в репозиторий CocoaPod.

Это означает, что если ваш проект использует CocoaPods (а почему бы и нет?), Вы можете просто добавить:

pod 'Tortuga22-NinePatch'

На ваш Podfile, и вы получите поддержку NinePatch. (обратите внимание, что он все еще не совместим с ARC, приветствуются запросы на извлечение!)

1 голос
/ 29 августа 2012

Я знаю, что это старый вопрос, но просто для того, чтобы помочь людям, которые ищут ninePatch в задаче c, я хочу сообщить, что у класса UIImage, начиная с ios 5, есть метод, который делает ninePatch.

С UIImage ссылка :

Обсуждение

Этот метод используется для добавления вставок к изображению или к изменить существующие заглушки изображения. В обоих случаях вы получаете назад новое изображение и исходное изображение остается нетронутым.

Во время масштабирования или изменения размера изображения области, покрытые крышкой, не масштабируется или не изменяется. Вместо этого область пикселей не покрыта заглушкой в каждом направлении плиточный, слева направо и сверху вниз, чтобы изменить размер изображение. Этот метод часто используется для создания переменной ширины кнопки, которые сохраняют те же закругленные углы, но центральную область растет или сжимается по мере необходимости. Для лучшей производительности используйте плиточный участок размером 1x1 пикселя.

Доступность Доступно в iOS 5.0 и более поздних версиях.

Объявлено в UIImage.h

Пример использования, если вы хотите изображение с вершиной исправления:

UIImage* image = [UIImage imageNamed:@"YourImage.png"];
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(25., 0, 0, 0)]

Надеюсь, это поможет.

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

Включаете ли вы основной заголовочный файл (ы) в те классы, которые вам нужны, или в файл prefix.pch?

0 голосов
/ 10 июля 2011

Если вы загрузите их исходный пакет с GitHub, вы увидите, что они включили пример проекта, NinePatchDemo. Проверка этого должна дать вам всю необходимую информацию.

Вы увидите, что они просто выбросили проект Xcode NinePatch в проект NinePatchDemo в разделе «Другие источники». Вы можете перетащить проект NinePatch в свой собственный таким же образом. Вы можете проверить настройки сборки и назначения, чтобы убедиться, что вы включаете любые пути / библиотеки, которые вам нужны для сборки.

Похоже, что вы хотите -all_load -ObjC в флажках Other Linker для вашей цели, и если ваша папка проекта находится на том же уровне, что и папка ninepatch (как в загрузке с github), вы также захотите установить Пути поиска по заголовку на вашей цели до ../NinePatch//**, в зависимости от того, перемещались ли вы по папкам.

Кроме этого, единственное, что я могу видеть, это то, что вам, конечно, нужно будет включать заголовки с #import <TUNinePatch.h>

NinePatchDemo создан для меня отлично, так что я могу убедиться, что их источник работает.

0 голосов
/ 05 июля 2011

Вы должны иметь возможность добавлять файлы в ваш проект. Ответы на этот ТАК вопрос могут помочь.

Также помните, что UIImage предоставляет растягиваемые изображения. См. -stretchableImageWithLeftCapWidth: topCapHeight: для получения подробной информации. Это не поможет вам, если вам нужно читать изображения в формате девяти патчей, возможно, для совместного использования ресурсов с приложением Android, но зачастую это все, что действительно необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...