自定义 UIButton
Posted
技术标签:
【中文标题】自定义 UIButton【英文标题】:Custom UIButton 【发布时间】:2011-08-09 12:55:48 【问题描述】:我正在尝试为我的按钮创建新布局。
实际上,当您使用图像和标题设置自定义UIButton
时,这两个元素在一条线上。
但是,在我看来,我需要在图片下方加上标题。
我尝试使用“Edge Inset”属性来实现它,它可以工作。
有没有办法使用UIButton
的子类来做到这一点?
又该怎么做呢?
提前感谢!
格温宁
编辑:
我已经像 Jano 提出建议 in comment
生成背景图片的代码:
+(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;
感谢大家!
【问题讨论】:
创建一个具有相同图像但垂直框架空间更大的按钮,然后使用此答案中的代码绘制文本:***.com/questions/6992830/… 【参考方案1】:您可以继承UIControl
来制作自定义按钮。
【讨论】:
【参考方案2】:我建议你在这里不需要子类 UIButton,你可以制作一个底部透明的图像,你可以在其中显示按钮的标题并将按钮的标题对齐到底部,这样你就可以显示标题为UIButton 的底部。
你可以这样做 -
【讨论】:
【参考方案3】:简单的解决方案是添加图像和标签使标签 userinteractionenabled = NO ,然后添加自定义类型的按钮将其添加到图像和标签上..否则 UIConrol ad michail 说..
【讨论】:
以上是关于自定义 UIButton的主要内容,如果未能解决你的问题,请参考以下文章
未调用自定义 UIButton 的 setIsSelected 方法