标签:des color os io for line size ui
#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
标签:des color os io for line size ui
原文地址:http://www.cnblogs.com/ldc529/p/3874887.html