zoukankan      html  css  js  c++  java
  • UIButton 上的标题添加下划线效果

    subclass UIButton类 重载drawrect方法:

    - (void)drawRect:(CGRect)rect 
        {
                // Get the Render Context
            CGContextRef ctx = UIGraphicsGetCurrentContext();
    
            // Measure the font size, so the line fits the text.
            // Could be that "titleLabel" is something else in other classes like UILable, dont know.
            // So make sure you fix it here if you are enhancing UILabel or something else..
            CGSize fontSize =[self.titleLabel.text sizeWithFont:self.titleLabel.font 
                                                       forWidth:self.bounds.size.width
                                                  lineBreakMode:UILineBreakModeTailTruncation];
            // Get the fonts color. 
            const float * colors = CGColorGetComponents(self.titleLabel.textColor.CGColor);
            // Sets the color to draw the line
            CGContextSetRGBStrokeColor(ctx, colors[0], colors[1], colors[2], 1.0f); // Format : RGBA
    
            // Line Width : make thinner or bigger if you want
            CGContextSetLineWidth(ctx, 1.0f);
    
            // Calculate the starting point (left) and target (right)   
            float fontLeft = self.titleLabel.center.x - fontSize.width/2.0;
            float fontRight = self.titleLabel.center.x + fontSize.width/2.0;
    
            // Add Move Command to point the draw cursor to the starting point
            CGContextMoveToPoint(ctx, fontLeft, self.bounds.size.height - 1);
    
            // Add Command to draw a Line
            CGContextAddLineToPoint(ctx, fontRight, self.bounds.size.height - 1);
    
            // Actually draw the line.
            CGContextStrokePath(ctx);
    
            // should be nothing, but who knows...
            [super drawRect:rect];   
        }
  • 相关阅读:
    LG P3975 [TJOI2015]弦论
    LG P5056 【模板】插头dp
    LG P5279 [ZJOI2019]麻将
    BZOJ3864 Hero meet devil
    [NOIP模拟]相遇/行程的交集
    LG P3196 [HNOI2008]神奇的国度
    LG P3312 [SDOI2014]数表
    python pip 安装包的时候出现的各种错误。一句话解决。
    CTF入门
    Pythoncharm安装
  • 原文地址:https://www.cnblogs.com/kelisi-king/p/3290271.html
Copyright © 2011-2022 走看看