Пользовательская кнопка пользовательского интерфейса

Я пытаюсь сделать новый макет для своих кнопок.

На самом деле, когда вы настраиваете Custom UIButton с изображением и заголовком, два элемента находятся на одной линии. Но, на мой взгляд, мне нужно, чтобы заголовок был под изображением. Я попытался сделать это с помощью свойства «Edge Inset», и это сработало.

Есть способ сделать это с помощью подкласса UIButton? И как это сделать?

заранее спасибо!

Гвеннин

редактировать:

Я сделал предложение Яно в комментарии

код для создания фонового изображения:

+(UIImage*)drawText:(NSString*)text inImage:(UIImage*)image {

UIFont *font = [UIFont boldSystemFontOfSize:16];
CGSize size = CGSizeMake(200, 200);
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(100 - (image.size.width / 2), 0, image.size.width, image.size.height)];
CGRect rect = CGRectMake(100 - ([text length] * 8) / 2, image.size.height, 200, 200);
[[UIColor whiteColor] set];
[text drawInRect:CGRectIntegral(rect) withFont:font];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newImage;
}

Спасибо всем!


person Gwennin    schedule 09.08.2011    source источник
comment
Создайте кнопку с тем же изображением, но с большим пространством кадра по вертикали, а затем нарисуйте текст, используя код из этого ответа: stackoverflow.com/questions/6992830/   -  person Jano    schedule 09.08.2011


Ответы (3)


Вы можете создать подкласс UIControl для создания пользовательской кнопки.

person Mikhail Grebionkin    schedule 09.08.2011

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

вы можете сделать что-то вроде этого -

введите здесь описание изображения

person saadnib    schedule 09.08.2011

Простое решение - добавить изображение и метку, сделать метку userinteractionenabled = NO, затем добавить кнопку пользовательского типа, добавить ее как на изображение, так и на метки. В противном случае UIConrol ad michail сказал.

person sairam    schedule 09.08.2011