• UILabel字体间距调整


    思路:

      写一个 UILbel的子类;在子类里面重新布置UILbel的字体间距;

    如代码 .h

    #import <UIKit/UIKit.h>
    
    @interface AdjustableUILable : UILabel
    {
        CGFloat characterSpacing;
    }
    
    @property CGFloat characterSpacing;
    @end
    

     代码 .m

    #import "AdjustableUILable.h"
    
    @implementation AdjustableUILable
    @synthesize characterSpacing;
    
    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
    
        }
        return self;
    }
    
    
    - (void)drawTextInRect:(CGRect)rect
    {
        if (characterSpacing)
        {
            // Drawing code
            CGContextRef context = UIGraphicsGetCurrentContext();
            CGFloat size = self.font.pointSize;
            
            CGContextSelectFont (context, [self.font.fontName UTF8String], size, kCGEncodingMacRoman);
            CGContextSetCharacterSpacing (context, characterSpacing);
            CGContextSetTextDrawingMode (context, kCGTextFill);
            
            // Rotate text to not be upside down
            CGAffineTransform xform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
            CGContextSetTextMatrix(context, xform);
            const char *cStr = [self.text UTF8String];
            CGContextShowTextAtPoint (context, rect.origin.x, rect.origin.y + size, cStr, strlen(cStr));
        }
        else
        {
            // no character spacing provided so do normal drawing
            [super drawTextInRect:rect];
        }
    }
    
    @end
    

      如何使用:

        HistoryToday *yearDates = [HistoryToday today];
        AdjustableUILable *yearLabel = [[AdjustableUILable alloc]initWithFrame:CGRectMake(18, 6, 240, 30)];
        yearLabel.text = yearDates.year;
        yearLabel.characterSpacing = 14;
        [self.view addSubview:yearLabel];
    

      

  • 相关阅读:
    java-mybaits-00503-延迟加载
    java-mybaits-00502-案例-映射分析-一对一、一对多、多对多
    java-mybaits-00501-案例-映射分析-订单商品数据模型
    java-mybaits-00402-Mapper-动态sql-if、where、foreach、sql片段
    数据结构与算法实验题7.1 M 商人的求救
    HDOJ 1075
    HDOJ 1856
    HDOJ 3790
    HDOJ 1869
    HDOJ 1870
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3142078.html
Copyright © 2020-2023  润新知