博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
下划线按钮
阅读量:6720 次
发布时间:2019-06-25

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

#import <UIKit/UIKit.h>

 

@interface CXUnderLineButton : UIButton

 

+ (CXUnderLineButton *) underlinedButton;

 

@end

 

 

#import "CXUnderLineButton.h"

 

@implementation CXUnderLineButton

 

- (id)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

        // Initialization code

    }

    return self;

}

 

 

+ (CXUnderLineButton*) underlinedButton {

    CXUnderLineButton* button = [[CXUnderLineButton alloc] init];

    return button;

}

 

- (void) drawRect:(CGRect)rect {

    CGRect textRect = self.titleLabel.frame;

    

    // need to put the line at top of descenders (negative value)

    CGFloat descender = self.titleLabel.font.descender;

    

    CGContextRef contextRef = UIGraphicsGetCurrentContext();

    

    // set to same colour as text

    CGFloat offset = 1.f;

    CGContextSetStrokeColorWithColor(contextRef, self.highlighted?[UIColor grayColor].CGColor: self.titleLabel.textColor.CGColor);

    

    CGContextMoveToPoint(contextRef, textRect.origin.x, textRect.origin.y + textRect.size.height + descender + offset);

    

    CGContextAddLineToPoint(contextRef, textRect.origin.x + textRect.size.width, textRect.origin.y + textRect.size.height + descender + offset);

    

    CGContextClosePath(contextRef);

    

    CGContextDrawPath(contextRef, kCGPathStroke); 

 

/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect

{

    // Drawing code

}

*/

 

@end

 

转载于:https://www.cnblogs.com/ldc529/p/3874887.html

你可能感兴趣的文章
SSH配置启动后Could not instantiate bean class [org.hibernate.cfg.AnnotationConfiguration
查看>>
delphi中AnsiString、WideString区别
查看>>
objective-c系列-NSMutableString
查看>>
保存在云端的数据可以真正销毁掉吗?
查看>>
code jam训练
查看>>
ScrollGridView 标题不变化 内容变化
查看>>
百炼骑车与走路
查看>>
SQL2008将服务器的数据库表数据插入到本地数据库
查看>>
css知多少(6)——选择器的优先级(转)
查看>>
.NET的Session详解[转]
查看>>
Rxjava Subjects
查看>>
Javascript中数组的使用
查看>>
在rehhat5.5下安装oracle11g 图形安装及执行脚本
查看>>
《Ext JS权威指南》节选:树的动态加载及节点维护
查看>>
zend studio
查看>>
网站备案流程
查看>>
mysql 将行拼接成字符串的方法
查看>>
Java 开源博客——B3log Solo 0.6.5 正式版发布了!
查看>>
微信公众平台商业模式探索
查看>>
NS2网络模拟(5)-homework01.tcl
查看>>