如何设置UITabBar和UINavigationBar的内容

class和string

[UITabBarButton class] == NSClassFromString(@"UITabBarButton")

[UIButton class] == NSClassFromString(@"UIButton")

@"UITabBarButton" == NSStringFromClass([UITabBarButton class])

如何设置UITabBar和UINavigationBar的内容

  • UITabBar的内容

    • 由UITabBarController所管理的子控制器的tabBarItem属性决定
  • UINavigationBar的内容

    • 由UINavigationController所管理的子控制器的naivgationItem属性决定

设置导航栏标题文字

  • 建议使用self.navigationItem.title取代self.title

富文本

  • 概念
    • 带有属性的文本
  • 组成
    • 文本(NSString *string)
    • 属性(NSDictionary *attributes)
  • NSAttributedString
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = [UIFont systemFontOfSize:13];
attrs[NSUnderlineStyleAttributeName] = @(NSUnderlineStyleSingle);
label.attributedText = [[NSAttributedString alloc] initWithString:@"发帖子哈哈" attributes:attrs];
  • NSMutableAttributedString
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"发帖子哈哈哈"];

[string addAttributes:@{
                    NSForegroundColorAttributeName : [UIColor blueColor],
                    NSBackgroundColorAttributeName : [UIColor yellowColor]
                    } range:NSMakeRange(1, 2)];

[string addAttribute:NSUnderlineColorAttributeName value:[UIColor grayColor] range:NSMakeRange(0, 6)];

[string setAttributes:@{
                        NSFontAttributeName : [UIFont systemFontOfSize:25]
                        } range:NSMakeRange(1, 2)];

// addXXX : 可以给某个范围的文字无限追加属性
// setXXX : 只能给某个范围的文字设置一次属性,后面的设置会覆盖前面的设置

你可能感兴趣的:(MD)