iOS是否可以通过按下一个按钮来更改按钮的图像并用文本填充标签?
我想能够改变一个按钮的图像,从没有勾号到一个勾号,并用文本填充一个标签,所有这些都是从按下一个按钮开始的。这可能吗 以下是我目前掌握的代码,但按钮无法使其正常工作:iOS是否可以通过按下一个按钮来更改按钮的图像并用文本填充标签?,ios,uibutton,label,Ios,Uibutton,Label,我想能够改变一个按钮的图像,从没有勾号到一个勾号,并用文本填充一个标签,所有这些都是从按下一个按钮开始的。这可能吗 以下是我目前掌握的代码,但按钮无法使其正常工作: #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize locLabel; - (void)viewDidLoad { [super viewDidLoad];
#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
#导入
@界面ViewController:UIViewController
{
IBUILABEL*locLabel;
}
@属性(非原子,保留)IBUILABEL*locLabel;
-(iAction)pickImage:(id)发送方;
@结束
你可以选择你所在州的要求。或者,您可以通过简单添加uicontrol状态正常| uicontrol状态突出显示或uicontrol状态选择| uicontrol状态突出显示来使用组合状态,这应该可以解决您所遇到的错误。。。。只需添加断点来检查pickImage是否被调用,它没有显示任何错误,但由于某种原因没有加载。除了self=(ViewController*)之外,调试似乎没有给我任何关于它为什么不工作的信息首先,您的发送者无法调用setImage方法,因为它是类型id而没有类型强制转换,请根据您的方便使用Nslog或断点检查您的btnImage1是否为零,并检查您的loclabel是否正确附着,方法是将背景色放在按钮和标签中,u可以找到它们是否都为零可见与否。。它们可能由于帧大小或alpha..或其他任何原因而被隐藏。在我添加“locLable.text=@”红色之前,一切正常;“它现在无法打开应用程序并将我发送到.h文件(我现在添加了该文件)。但似乎没有显示任何错误。这只是正确的代码您只需删除您的文件并添加新文件即可。当然,不要复制粘贴,因为它可能也会复制您的错误。。。
- (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";
}