博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
下划线按钮
阅读量:6678 次
发布时间: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

你可能感兴趣的文章
JS 实现图片预加载
查看>>
database link 使用<转>
查看>>
WPF换肤系列索引
查看>>
surfaceview 与 view 的区别
查看>>
JavaScript document属性和方法
查看>>
svn命令备份
查看>>
Linux下安装中文输入法
查看>>
嵌入式数据库Perst
查看>>
【SQL语法】系列11:IN 操作符
查看>>
二进制转成十六进制
查看>>
【民间图灵奖】读《图灵的秘密》写读后感获图灵水杯
查看>>
python 动态创建类
查看>>
推荐windows下两个科学用python集成套件
查看>>
objective-C Blocks 讲解
查看>>
EditPlus3.5+绿色+汉化+免安裝特别版
查看>>
java中的IO操作总结(四)
查看>>
【DLL】win7下注册dll
查看>>
为什么程序员的价值总是被严重的低估?
查看>>
design principle:模拟 android Button 控件点击事件
查看>>
SQL Server误区30日谈-Day21-数据损坏可以通过重启SQL Server来修复
查看>>