zoukankan      html  css  js  c++  java
  • UIlabel以及其UIfont

    由于label主要就是展示文字的一个视图,所以这里边就顺便的将字体也给总结了

    初始化一个UILabel对象,并初始化大小

    UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

    设置显示的文字

    label.text=@"hello canfeng";

    @property(nonatomic,retain) UIFont*font; 

    //    NSString *const UIFontTextStyleHeadline; 用于标题的风格
    //    NSString *const UIFontTextStyleSubheadline;用于副标题的风格
    //    NSString *const UIFontTextStyleBody;用于正文的字体
    //    NSString *const UIFontTextStyleFootnote;用于脚注的字体
    //    NSString *const UIFontTextStyleCaption1;用于标准字幕字体
    //    NSString *const UIFontTextStyleCaption2;用于替换字幕字体
        label.font=[UIFont preferredFontForTextStyle:UIFontTextStyleCaption2];
    
     
    //设置字体和字体大小
    + (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize;
    //返回所有字体的字体家族名称数组
    + (NSArray *)familyNames;
    //按字体家族名称返回字体名称数组
    + (NSArray *)fontNamesForFamilyName:(NSString *)familyName;
    //设置普通字体字号大小
    + (UIFont *)systemFontOfSize:(CGFloat)fontSize;
    //设置加粗字体字号大小
    + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
    //设置斜体字号大小
    + (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;
     
    //一些只读属性
    //字体家族名称
    @property(nonatomic,readonly,retain) NSString *familyName;
    //字体名称
    @property(nonatomic,readonly,retain) NSString *fontName;
    //字号大小
    @property(nonatomic,readonly)        CGFloat   pointSize;
    //字体设计模型,表示距离最高点偏移余量
    @property(nonatomic,readonly)        CGFloat   ascender;
    //底部的模型偏移量
    @property(nonatomic,readonly)        CGFloat   descender;
    //字体模型的头高信息
    @property(nonatomic,readonly)        CGFloat   capHeight;
    //字体模型的xHeight信息
    @property(nonatomic,readonly)        CGFloat   xHeight;
    //字体行高
    @property(nonatomic,readonly)        CGFloat   lineHeight NS_AVAILABLE_IOS(4_0);
    //模型主体信息
    @property(nonatomic,readonly)        CGFloat   leading;
    //创建一个新字体与当前字体相同,除了指定的大小
    - (UIFont *)fontWithSize:(CGFloat)fontSize;
    //通过描述信息返回字体 7.0后可用
    + (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize NS_AVAILABLE_IOS(7_0);
    //返回字体的描述信息,7.0后可用
    - (UIFontDescriptor *)fontDescriptor NS_AVAILABLE_IOS(7_0);

    设置字体颜色

    label.textColor=[UIColor redColor];

    设置阴影偏移量

    label.shadowOffset=CGSizeMake(20, 20);

    设置阴影颜色

    label.shadowColor=[UIColor blackColor];

    设置对齐模式//注意对齐方式是枚举类型可点击进入查看相应地模式

    label.textAlignment=NSTextAlignmentJustified;

    enum {
       //沿左边沿对齐文本
       NSTextAlignmentLeft      = 0,
       //中心对齐
       NSTextAlignmentCenter    = 1,
       //右边沿对齐
       NSTextAlignmentRight     = 2,
       //最后一行自然对齐
       NSTextAlignmentJustified = 3,
       //默认对齐
       NSTextAlignmentNatural   = 4,};typedef NSInteger NSTextAlignment;

    多行文本设置

    label.lineBreakMode=NSLineBreakByCharWrapping;

    enum {
       //文本边缘处理
       NSLineBreakByWordWrapping = 0,
       //提前处理不合适的字符
       NSLineBreakByCharWrapping,
       //简单线性处理
       NSLineBreakByClipping,
       //丢失的开头用省略号表示
       NSLineBreakByTruncatingHead,
       //丢失的文本在末尾显示省略号
       NSLineBreakByTruncatingTail,
       //丢失的文本在中间显示省略号
       NSLineBreakByTruncatingMiddle };typedef NSUInteger NSLineBreakMode

    设置高亮的字体颜色

    label.highlightedTextColor=[UIColor blueColor];

    //设置是否高亮

    label.highlighted=YES;

    用户交互 默认关闭

    label.userInteractionEnabled=NO;

    是否有效,默认是YES,无效为灰色

    label.enabled=NO;

    显示的行数,0为无限

    @property(nonatomic) NSInteger numberOfLines;

    宽度自适应大小 默认是NO

    @property(nonatomic) BOOL adjustsFontSizeToFitWidth;

    字符适应宽度:不赞成使用

    @property(nonatomic) BOOL adjustsLetterSpacingToFitWidth

    最小适应大小2.0-6.0

    @property(nonatomic) CGFloat minimumFontSize

    最小适应大小 6.0 之后

    @property(nonatomic) CGFloat minimumScaleFactor

    垂直方向的调整

    @property(nonatomic) UIBaselineAdjustment baselineAdjustment;

    返回文本绘制矩形

    - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;

    文本绘制函数

    - (void)drawTextInRect:(CGRect)rect

    文本自动布局参数

    @property(nonatomic) CGFloat preferredMaxLayoutWidth 

  • 相关阅读:
    文件上传和下载
    代理模式
    设计模式分类
    单例模式
    抽象工厂模式
    成长
    Java教程
    python面试大全
    python入门教程
    收藏网摘
  • 原文地址:https://www.cnblogs.com/canfeng/p/4981419.html
Copyright © 2011-2022 走看看