是否可以从嵌入式 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 会话?

如何从 PDF 中提取嵌入字体作为有效字体文件?

是否可以将 C++ 小部件嵌入到 PyQt 应用程序中?

是否有可嵌入 HTML 的音频播放器阻止下载它播放的音频?