ios - 按下按钮时更改标签

标签 ios cocoa-touch text uibutton uilabel

我有一个button,它可以更改已按下的图像,它从img1变为img2。我现在还希望在按下特定按钮时更改文本。因此,它从“hello”开始,然后在按下时变为“再见”。

这是我目前的代码:

- (void)toggleImage:(UIButton *)btn1 {
    self.btn1ImageName = ([self.btn1ImageName isEqualToString:@"greypad.png"]) ? @"greenpad.png" : @"greypad.png";
    [btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
}

ViewDidLoad:
[self addLabel];
self.btn1ImageName = @"greypad.png";
btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(46, 67, 48, 48)];
[btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(toggleImage:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn1];

标签?
 -(void)addLabel{
        UILabel *aLabel = [[UILabel alloc]initWithFrame: CGRectMake(20, 200, 280, 80)];
        aLabel.numberOfLines = 0;
        aLabel.textColor = [UIColor blueColor];
        aLabel.backgroundColor = [UIColor clearColor];
        aLabel.text = @"hello";
        [self.view addSubview:aLabel];
 }

最佳答案

尝试这个

- (void)toggleImage:(UIButton *)btn1 {
   self.btn1ImageName = ([self.btn1ImageName isEqualToString:@"greypad.png"]) ? @"greenpad.png" : @"greypad.png";
   self.titleStr = ([self.titleStr isEqualToString:@"hello"]) ? @"goodbye" : @"hello";
   [btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
   [btn1 setTitle:self.titleStr forState:UIControlStateNormal];
}

关于ios - 按下按钮时更改标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18854891/

相关文章:

ios - 在 ios 应用程序中使用 .ttf 字体的优点和缺点是什么

ios - 对 UINavigationController 的深入理解

regex - Vim 展开文件中的行组

text - 在 Fortran 中逐行读取逗号分隔的文本文件

ios - 设置调用 RemoteIO 音频单元呈现回调的速率

ios - 启用引导访问时如何切换应用程序

ios - 访问另一个类中定义的枚举值

java - 数组内的数组未按预期工作

ios - 在 swift 中检查空值(不是 nil 或 NSnull)总是返回 nil?

xcode - 什么是(Xcode : Wildcard AppID) in my iOS Provisioning Portal?