在嵌入式视图方面,我有点困惑。我在故事板中创建了以下结构:
-UITabBarViewController
-UINavigationViewController
-UITableViewController (MyTableViewController)
所以对于我的问题,是否可以在我的自定义UITableViewController(MyTableViewController)中设置标签栏项属性,例如标题字体?
我在MyTableViewController中尝试了以下代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Set tab bar item title
[self setTitle:@"TEST"]; // This works, it sets the title of the tab bar item
// This does not work
[self.tabBarController.tabBarItem setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor yellowColor] }
forState:UIControlStateNormal];
[self.tabBarController.tabBarItem setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor whiteColor] }
forState:UIControlStateSelected];
// This does not work
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor yellowColor] }
forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor whiteColor] }
forState:UIControlStateSelected];
} // viewDidLoad
我知道我可以创建一个自定义MyTabBarViewController并将代码放在那里。但是,没有必要为此创建一个新课程会很好。
一般问题,嵌入式视图在此示例中如何工作?
答案 0 :(得分:1)
我在我的一个项目中这样做了。试试这个:
[self.navigationController.tabBarItem setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor yellowColor] }
forState:UIControlStateNormal];
[self.navigationController.tabBarItem setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor whiteColor] }
forState:UIControlStateSelected];
如果它不适合你,请告诉我..
希望这有帮助!