我尝试为UIButton设置Image。但是如何设置UIButton的默认图像?
头文件中的UIButton代码如下所示。
@property (strong, nonatomic) IBOutlet UIButton *modeChangeButton;
我尝试为UIButton设置图像大小和默认图像,但它不显示图像。代码如下所示。
- (void)viewDidLoad
{
self.modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)];
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.png"] forState:UIControlStateNormal];
}
如何设置UIButton的默认图像? 提前谢谢。
答案 0 :(得分:1)
如果您使用IBOutlet
,则无需重新分配按钮。请尝试以下
使用IBOutlet:
- (void)viewDidLoad
{
self.modeChangeButton.frame = CGRectMake(200, 450, 60, 60);
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.png"] forState:UIControlStateNormal];
}
以编程方式使用:
- (void)viewDidLoad
{
self.modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)];
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.png"] forState:UIControlStateNormal];
[self.view addSubView:self.modeChangeButton];
}
另外,检查按钮的Y位置。是否超出视野范围。
答案 1 :(得分:0)
您忘记将按钮添加为子视图。
[self.view addSubview:self.modeChangeButton];
答案 2 :(得分:-1)
- (void)viewDidLoad
{
[super viewDidLoad];
self.modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)];
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.png"]
forState:UIControlStateNormal];
}
你错过了调用超级viewDidLoad
的电话。我猜这可能是个问题。