zoukankan      html  css  js  c++  java
  • 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];
    

      

  • 相关阅读:
    设置navigationBar透明,隐藏iOS导航条底部与self.view的分界线
    毛玻璃效果
    手动代码约束,等比例
    UIScrollView基本用法和代理方法
    swift学习笔记
    设置子视图背景颜色不影响到父视图的背景颜色方法
    JS内置对象
    JS创建自定义对象
    dom添加事件
    dom对象操作Html,Css
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3142078.html
Copyright © 2011-2022 走看看