博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给按钮增加点击效果
阅读量:6206 次
发布时间:2019-06-21

本文共 1519 字,大约阅读时间需要 5 分钟。

一般我们如果要给按钮增加一个点击效果 ,最常见的方式是通过设置背景图片

即调用 

- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state

然后按钮就会根据state的状态去设置按钮的背景

 

现在提供一个新的方式 ,可以解决不用设置图片 ,也不需要引用第三方的开源代码就可以完成

已编写成分类(Category),具体代码

////  UIButton+PKAdditions.h////  Created by pk on 14/12/16.//  Copyright (c) 2014年 suma. All rights reserved.//#import 
@interface UIButton (PKAdditions)- (void)addClickEffectWithColor:(UIColor *)color;@end
////  UIButton+PKAdditions.m////  Created by pk on 14/12/16.//  Copyright (c) 2014年 suma. All rights reserved.//#import "UIButton+PKAdditions.h"@implementation UIButton (PKAdditions)- (void)addClickEffectWithColor:(UIColor *)color{    if (color) {        CGSize imageSize = self.frame.size;        UIGraphicsBeginImageContextWithOptions(imageSize, 0, [UIScreen mainScreen].scale);        [color set];        UIRectFill(CGRectMake(0, 0, imageSize.width, imageSize.height));        UIImage *pressedColorImg = UIGraphicsGetImageFromCurrentImageContext();        UIGraphicsEndImageContext();        self.layer.masksToBounds = YES;        self.opaque = NO;        [self setBackgroundImage:pressedColorImg forState:UIControlStateNormal];    }    }@end

 

使用方式

UIButton * tenderBtn = [[UIButton alloc] initWithFrame:CGRectMake(150, 180, 150, 50)];     [tenderBtn setTitle:@"效 果" forState:UIControlStateNormal];
[tenderBtn addClickEffectWithColor:[UIColor grayColor]];    tenderBtn.layer.cornerRadius = 10.0f;    [self addSubview:tenderBtn];

 

实际效果:

 

转载于:https://www.cnblogs.com/tianlin106/p/4178785.html

你可能感兴趣的文章
有源代码的iphone项目
查看>>
java开发环境:还在配classpath?你out啦!
查看>>
高德地图如何将比例尺放大到10米?
查看>>
事务与锁机制
查看>>
php资源索引
查看>>
Powershell-获取DHCP地址租用信息
查看>>
我的友情链接
查看>>
gprof, Valgrind and gperftools - an evaluation of some tools for application level CPU profiling on
查看>>
请不要做浮躁的嵌入式系统工程师(谨以此文与大家共勉)
查看>>
lvm使用
查看>>
51、YUM安装配置LAMP、phpMyAdmin实战
查看>>
War-Driving(战争驾驶***)
查看>>
struts2遍历<select>
查看>>
DNN使用非80端口和总是跳转到http://localhost问题的解决
查看>>
linux高可用
查看>>
写在前面
查看>>
Windows 下单机最大TCP连接数
查看>>
java每日小算法(10)
查看>>
【年少的风】C#小学生算式×××2
查看>>
微服务架构技能
查看>>