Подтвердить что ты не робот

IOS UIButton, как сделать красивые кнопки, подобные этому?

Является ли это UIButton? Если да, то как выполняется красный цвет фона? Очевидно, что это не красный UIColor? Есть ли такой же инструмент или утилита, включенная в Xcode, чтобы сделать кнопки как это?

enter image description here

4b9b3361

Ответ 1

Вы можете создавать похожие кнопки с закрытым классом UIGlassButton. Я видел его здесь http://pastie.org/830884 от @schwa.

Запустите приложение с этим кодом в симуляторе iOS, чтобы создать пользовательскую кнопку (или в устройстве, сохранить в $(APP)/Documents и включить обмен файлами iTunes).

Class theClass = NSClassFromString(@"UIGlassButton");
UIButton *theButton = [[[theClass alloc] initWithFrame:CGRectMake(10, 10, 120, 44)] autorelease];
// Customize the color
[theButton setValue:[UIColor colorWithHue:0.267 saturation:1.000 brightness:0.667 alpha:1.000] forKey:@"tintColor"];
//[theButton setTitle:@"Accept" forState:UIControlStateNormal];
[self.view addSubview:theButton];

UIGraphicsBeginImageContext(theButton.frame.size);
CGContextRef theContext = UIGraphicsGetCurrentContext();
[theButton.layer renderInContext:theContext];

UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
NSData *theData = UIImagePNGRepresentation(theImage);
[theData writeToFile:@"/Users/<# your user #>/Desktop/button.png" atomically:NO];
UIGraphicsEndImageContext();

Как только вы получите png, используйте его в качестве фона кнопки.

В качестве альтернативы вы можете программно создавать кнопки (Джеффом Ламарше).

Ответ 2

Я написал пару классов для создания кнопок для калькулятора, который я написал. Классы генерируют кнопки, основанные либо на стандартных цветах, либо на RGB-значениях RGB. Кнопки находятся в моем проекте BindleKit на Github: https://github.com/bindle/BindleKit

Мой ответ на Изменить цвет фона UIButton описывает, как использовать классы и где искать источник.

Чтобы увидеть примеры кнопок, скомпилируйте приложение BKCatalog в проекте Github или посмотрите на скриншот https://github.com/bindle/BindleKit/blob/master/screenshots/BKCatalog-BKButtons.png

Ответ 4

Вам нужно создать фоновое изображение для кнопки.

Затем добавьте изображение к кнопке:

- (void)setImage:(UIImage *)image forState:(UIControlState)state

Также для изменяемых размеров кнопок см.

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets

Вы можете использовать такие программы, как Graphics Converter, Photoshop и другие.

Ответ 5

И под iOS 5 у вас есть UIAppearance.