是否可以从嵌入式 UITableViewController 设置父 UITabViewController 属性
Posted
技术标签:
【中文标题】是否可以从嵌入式 UITableViewController 设置父 UITabViewController 属性【英文标题】:Is it possible to set parent UITabViewController properties from embedded UITableViewController 【发布时间】:2016-02-01 08:43:01 【问题描述】:当谈到嵌入式视图时,我有点困惑。我在情节提要中创建了以下结构:
-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 并将代码放在那里。但是不必为此创建一个新类会很甜蜜。
一般问题,嵌入式视图在此示例中如何工作?
【问题讨论】:
【参考方案1】:我在我的一个项目中做到了这一点。试试这个:
[self.navigationController.tabBarItem setTitleTextAttributes:@ NSForegroundColorAttributeName : [UIColor yellowColor]
forState:UIControlStateNormal];
[self.navigationController.tabBarItem setTitleTextAttributes:@ NSForegroundColorAttributeName : [UIColor whiteColor]
forState:UIControlStateSelected];
如果它不适合你,请告诉我..
希望这会有所帮助!
【讨论】:
以上是关于是否可以从嵌入式 UITableViewController 设置父 UITabViewController 属性的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将 Redcarpet 扩展为从链接自动嵌入 youtube 视频?
是否可以在无 GUI 的服务器上运行嵌入 GUI 环境的 docker 容器并从远程 GUI 客户端打开 GUI 会话?