我是iOS开发的新手,但我之前已经涉足过Java和C.
我尝试创建一个简单的计时器应用程序,当用户按下“开始”时,按钮文本将变为“重置”状态。但编译器抛出了一个"使用未声明的标识符' btnStart'"
我已经删除了剩余的代码,因为一切正常,直到我尝试更改按钮文字。
我很确定它在.h文件中正确声明,我认为这可能与为按钮本身添加另一个@property参数有关,但这并没有真正起作用。我如何正确地声明一个按钮呢?
由于
我的ViewController.m
- (IBAction)btnStart:(id)sender {
[btnStart setTitle: @"RESET" forState: UIControlStateNormal]; //Error shown here
}
我的ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *lblDisplay;
- (IBAction)btnStart:(id)sender;
- (IBAction)btnStop:(id)sender;
@end
答案 0 :(得分:2)
发件人应该是按钮本身。试试这个
- (IBAction)btnStart:(UIButton *)sender {
[sender setTitle: @"RESET" forState: UIControlStateNormal];
}
答案 1 :(得分:1)
请在您声明的.h或.m文件中声明按钮IBOutlet -
@property (weak, nonatomic) IBOutlet UILabel *lblDisplay;
@property (weak, nonatomic) IBOutlet UIButton *btnStart;
并像这样使用
[self.btnStart setTitle: @"RESET" forState: UIControlStateNormal];
答案 2 :(得分:0)
您可以在viewDidLoad函数中设置两个状态的按钮标题,如下所示
[btnStart setTitle: @"RESET" forState: UIControlStateNormal];
[btnStart setTitle: @"Start" forState: UIControlStateSelected];
并在您的函数中使用此代码
- (IBAction)btnStart:(id)sender {
UIButton *btn = (UIButton*)sender;
[btn setSelected:!btn.isSelected];
}