iOS Button点击问题

button上有张图片、有个显示数字的label 怎样实现在没点击时 图片和数字都显示灰色。当点击时图片和数字都变成红色,切数字数加一

在button的action方法中进行图片和数字增加或者变色

你的按钮是否只被点击一次,还是可以一直点?如果只能被点击一次,这需要与后台交互

button左边是一张图片,右边是一个数字 ,怎样实现在没点击时 图片和数字都显示灰色。当点击时图片和数字都变成红色,且数字数加一

button左边是一张图片,右边是一个数字 ,怎样实现在没点击时 图片和数字都显示灰色。当点击时图片和数字都变成红色,且数字数加一

设置一个boolean值 为false 在没有点击时在方法中 if(boolean){ 设置图片和标签为灰色 } else { 改变图片和标签的颜色 }

调用Button的属性set方法应该能解决吧,数字加1的话,简单点写个计数器,具体逻辑想好再写,应该没什么问题

我按照理解你的问题去实现了一下,你应该是想要点赞的那种效果吧,就是点下去,然后就加1,再点就取消加1
#import "ViewController.h"

@interface ViewController ()
//这个是从storyboard拉过来的按钮
@property (weak, nonatomic) IBOutlet UIButton *good;
@property (nonatomic, assign) NSUInteger index;
@end

@implementation ViewController
//这个是从storyboard拉过来的按钮事件

  • (IBAction)dianZan:(id)sender { self.good.selected = !self.good.selected; if (self.good.selected) { self.index++; [self.good setTitle:[NSString stringWithFormat:@"0%lu",self.index] forState:UIControlStateNormal]; [self.good setTitleColor:[UIColor redColor] forState:UIControlStateSelected]; [self.good setImage:[UIImage imageNamed:@"ToolViewEmotionHL"] forState:UIControlStateSelected]; } else { self.index--; [self.good setTitle:[NSString stringWithFormat:@"0%lu",self.index] forState:UIControlStateNormal]; }

}

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

![![![图片说明](https://img-ask.csdn.net/upload/201508/07/1438911664_870013.png)图片说明](https://img-ask.csdn.net/upload/201508/07/1438911602_550646.png)图片说明](https://img-ask.csdn.net/upload/201508/07/1438911647_628688.png)图片说明