zoukankan      html  css  js  c++  java
  • UILabel与UIFont的用法和属性的一些总结

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

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

    设置显示的文字

    label.text=@"123";

    和字体相关的一个类,字号大小默认17

    @property(nonatomic,retain) UIFont*font; 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    //7.0之后可用 设置字体风格
    //    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;

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

    多行文本设置

    label.lineBreakMode=NSLineBreakByCharWrapping;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    enum {
       //文本边缘处理
       NSLineBreakByWordWrapping = 0,
       //提前处理不合适的字符
       NSLineBreakByCharWrapping,
       //简单线性处理
       NSLineBreakByClipping,
       //丢失的开头用省略号表示
       NSLineBreakByTruncatingHead,
       //丢失的文本在末尾显示省略号
       NSLineBreakByTruncatingTail,
       //丢失的文本在中间显示省略号
       NSLineBreakByTruncatingMiddle };typedef NSUInteger NSLineBreakMode

    使用attributedText绘制

    @property(nonatomic,copy)   NSAttributedString *attributedText 

    设置高亮的字体颜色

    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;

    1
    2
    3
    4
    5
    6
    7
    typedef enum {
       //调整文本对应基线位置
       UIBaselineAdjustmentAlignBaselines,
       //调整文本相对其边框的中心
       UIBaselineAdjustmentAlignCenters,
       //调整文本相对于边界的左上角 默认的
       UIBaselineAdjustmentNone,} UIBaselineAdjustment;

    返回文本绘制矩形

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

    文本绘制函数

    - (void)drawTextInRect:(CGRect)rect

    文本自动布局参数

    @property(nonatomic) CGFloat preferredMaxLayoutWidth 

  • 相关阅读:
    css的选择器
    javaScript 的变量使用
    关于外键约束
    javaScript中运算符
    css介绍和三种引入方式
    关于盒子模型
    类和类的六种关系
    DQL和DML更多操作
    javaScript的特点
    关于 让页面中的按钮 响应回车
  • 原文地址:https://www.cnblogs.com/fuunnyy/p/4713240.html
Copyright © 2011-2022 走看看