[英]UIButton backgroundImage versus image
我有试图将图像设置为AspectFit的UIButtons。 但是,使用情节提要板时遇到了一些困难,我将UIButton子类化,并以编程方式将按钮的imageViews设置为ScaleAspectFit
#import "UIButtonWithImageAspectFit.h"
@implementation UIButtonWithImageAspectFit
-(void)awakeFromNib{
[self.imageView setContentMode:UIViewContentModeScaleAspectFit];
}
@end
这样效果很好,按钮图像显示效果很好。
但是,现在我需要以编程方式交换按钮的图像,所以我尝试了:
[_firstLetterButton setImage:[UIImage imageNamed:@"2CeadLitir.png"]];
但这不起作用,因此根据这里的建议我必须使用:
[_firstLetterButton setBackgroundImage:[UIImage imageNamed:@"2CeadLitir.png"] forState:UIControlStateNormal];
这会将图像作为backgroundImage添加到按钮。 现在,我必须在按钮中显示图像。
因此,我返回了UIButton
UIButtonWithImageAspectFit
的子类,并尝试对其进行更改,以便它设置backgroundImage的contentMode而不是image
但是它似乎没有我可以访问的backgroundImage属性,但是根据文档,它确实具有
currentBackgroundImage
Property
但是,我不能在该currentBackgroundImage
上使用相同的方法setContentMode
任何想法如何解决这个问题?
它来自Buttons教程 。 特别是:
州
一个按钮具有四种状态来配置外观-默认,突出显示,选中和禁用。 和形式
讨论区
通常,如果未为状态指定属性,则默认值为使用UIControlStateNormal值。 如果未设置UIControlStateNormal值,则该属性默认为系统值。 因此,至少应设置正常状态的值。
对于初学者iOS开发人员,必须阅读所有这些链接。
实际上,UIButton有一个方法
- (void)setImage:(UIImage *)image
forState:(UIControlState)state
所以我要做的就是在UIButton而不是UIButton.imageView上设置图像时设置状态
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.