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 : 只能给某个范围的文字设置一次属性,后面的设置会覆盖前面的设置