美文网首页iOS相关iOS学习iOS Developer
关于TabBarItem和NavBarItem的属性设置Attr

关于TabBarItem和NavBarItem的属性设置Attr

作者: iYeso | 来源:发表于2016-07-04 23:52 被阅读1519次

    来自清澈Saup
    针对TabBarItem和NavBarItem设置属性

    1. appearance 的使用场景
    - (void)setTitleTextAttributes:(nullable NSDictionary<NSString *,id> *)attributes forState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
    - (nullable NSDictionary<NSString *,id> *)titleTextAttributesForState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
    

    我们要知道只要 ** UI_APPEARANCE_SELECTOR **这种的才可以设置他的属性

    2 使用的例子
    
        /**** 设置所有UITabBarItem的文字属性 ****/
        UITabBarItem *item = [UITabBarItem appearance];
    
        // 普通状态下的文字属性
        NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
        normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:12];
        normalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];
        [item setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
        
        // 选中状态下的文字属性
        NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
        selectedAttrs[NSForegroundColorAttributeName] = [UIColor blackColor];
        [item setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
    
    
    3 常规的属性没有一一验证

    1.NSKernAttributeName: @10 调整字句 kerning 字句调整              
    2.NSFontAttributeName : [UIFont systemFontOfSize:_fontSize] 设置字体

    3.NSForegroundColorAttributeName :[UIColor redColor] 设置文字颜色      
    4.NSParagraphStyleAttributeName : paragraph 设置段落样式

    NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
    paragraph.alignment = NSTextAlignmentCenter;
    

    6.NSBackgroundColorAttributeName: [UIColor blackColor] 设置背景颜色        
    7.NSStrokeColorAttributeName设置文字描边颜色,需要和NSStrokeWidthAttributeName设置描边宽度,这样就能使文字空心.

    NSStrokeWidthAttributeName这个属性所对应的值是一个 NSNumber 对象(小数)。该值改变描边宽度(相对于字体size 的百分比)。默认为 0,即不改变。正数只改变描边宽度。负数同时改变文字的描边和填充宽度。例如,对于常见的空心字,这个值通常为3.0。

    同时设置了空心的两个属性,并且NSStrokeWidthAttributeName属性设置为整数,文字前景色就无效果了

    效果

    8.NSStrikethroughStyleAttributeName 添加删除线,strikethrough删除线      

    相关文章

      网友评论

      本文标题:关于TabBarItem和NavBarItem的属性设置Attr

      本文链接:https://www.haomeiwen.com/subject/cclhjttx.html