создавать PNG-файлы для фонов кнопок (для использования в iPhone) - либо с помощью инструмента, либо написать свою собственную программу objC - PullRequest
1 голос
/ 22 июля 2010

Я хотел бы написать программу, которая будет принимать в качестве входных данных верхний цвет, нижний цвет и размеры кнопок.Затем программа вставит рамку и выплюнет кнопку.

Я нашел Фабрика кнопок Da , что неплохо, но также недостаточно хорошо по нескольким причинам:

(1) Мне нужно несколько границ, то есть черная внешняя граница вокруг более светлой внутренней границы (цвет которой привязан к цвету кнопки), с главной кнопкой внутри нее.
(2) Iхочу иметь возможность играть с цветами легче, чем позволяет их интерфейс.В частности, они заставили меня установить верхний цвет и нижний цвет.Но то, что я действительно хочу сделать, это установить общий цвет и градиент.Выходы те же, но мой способ позволяет мне играть с параметрами гораздо проще.
(3) Мне нужно каждый раз вводить размеры.Как сочетание этого и # 2 и необходимости каждый раз загружать, цикл создания каждой кнопки немного длиннее, чем мне бы хотелось.Я, скорее всего, опробую множество разных кнопок, прежде чем получу те, которые мне действительно нравятся.

Я не против написать это сам, если нет инструментов, которые бы делали то, что я хочу, но я бы хотелхочу сделать это в objC, потому что это единственный язык, который я действительно знаю.

Я должен добавить, что совместимые с UIImage форматы, отличные от PNG, будут в порядке.

Есть предложения?

Спасибо

1 Ответ

1 голос
/ 26 июля 2010

В итоге я создал фон кнопки в виде ObjC.Затем я преобразовал представления в объекты NSData, а затем сохранил эти объекты данных в файлы.Вот метод моего объекта UIView, который создал NSData:

-(NSData *) dataRepresentation {
    UIGraphicsBeginImageContext(self.bounds.size);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    NSData *data = UIImagePNGRepresentation(image);
    return data;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...