Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS是否可以通过按下一个按钮来更改按钮的图像并用文本填充标签?_Ios_Uibutton_Label - Fatal编程技术网

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";
}