iOS是否可以更改按钮的图像,只需按一个按钮就可以用文本填充标签?

时间:2014-06-27 15:57:28

标签: ios uibutton label

我希望能够更改按钮的图像,从无刻度线到刻度线,还可以通过按一下按钮填充带有文本的标签。这有可能吗?

以下是我到目前为止按钮无法正常工作的代码:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize locLabel;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)pickImage:(id)sender {

    UIImage *btnImage1 = [UIImage imageNamed:@"SubmitBooking-pressed.jpg"];
    [sender setImage:btnImage1 forState:UIControlStateNormal];

    locLabel.text = @"Red";
}

非常感谢

更新

似乎把我扔回.h文件并突出显示

@property(nonatomic,retain) IBOutlet UILabel *locLabel;

部分内容。

这是.h文件。有什么我做错了吗?

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

{

IBOutlet UILabel *locLabel;

}

@property(nonatomic,retain) IBOutlet UILabel *locLabel;

- (IBAction)pickImage:(id)sender;

@end

1 个答案:

答案 0 :(得分:0)

- (IBAction)pickImage:(UIButton *)sender {

    UIImage *btnImage1 = [UIImage imageNamed:@"SubmitBooking-pressed.jpg"];
    UIImage *btnImage2 = [UIImage imageNamed:@"anyImage.png"];
    UIImage *btnImage3 = [UIImage imageNamed:@"anyImage2.png"];

    [sender setImage:btnImage1 forState:UIControlStateNormal];
    [sender setImage:btnImage2 forState:UIControlStateHighlighted];
    [sender setImage:btnImage3 forState:UIControlStateSelected];
    locLabel.text = @"Red";
}

你可以选择你所需的州。或者你可以通过添加简单的UIControlStateNormal | UIControlStateHighlighted或UIControlStateSelected |来使用组合状态。 UIControlStateHighlighted