我的viewdidload中包含以下内容:

    //Start/Pause Button
    UIButton *buttonStart = [UIButton buttonWithType: UIButtonTypeCustom];
    buttonStart.frame = CGRectMake(10,100,100,45);
    [buttonStart setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
    [buttonStart addTarget:self action:@selector(pausePlayButtonTouched) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview: buttonStart];

我的选择器方法:
   [self.buttonStart setBackgroundImage:[UIImage imageNamed:@"start.png"] forState:UIControlStateNormal];

    NSLog(@"%@", self.buttonStart);

将null记录到控制台。不用说,按钮的图像没有改变。

我的想法出了什么问题?

btw buttonStart正在合成并且具有自己的属性(保留)。

最佳答案

您正在使用通过属性访问的实例变量self.buttonStart和局部变量buttonStart两者。从实现文件中删除该按钮的声明,并将第一行更改为:

self.buttonStart = [UIButton buttonWithType: UIButtonTypeCustom];

08-17 03:30