1

我正在尝试更改标签栏项目的字体颜色。我正在使用这篇文章中的代码:

更改标签栏文字颜色,iPhone

我的代码如下:

if ([self.tabBarItem respondsToSelector:@selector(setTitleTextAttributes:)]) {
    NSLog(@"yes");
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                             darkGreen, UITextAttributeTextColor,
                                             nil] forState:UIControlStateNormal];
}
else {
    NSLog(@"no");
}

respondsToSelector 总是返回 no,我不知道如何解决它。这个代码块在viewDidLoad中,类是UITabBarController的子类。

有任何想法吗?

4

1 回答 1

0

该方法setTitleTextAttributes:根本不存在,该方法的正确签名是setTitleTextAttributes: forState:

if ([self.tabBarItem respondsToSelector:@selector(setTitleTextAttributes: forState:)]) {
    NSLog(@"yes");
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                             darkGreen, UITextAttributeTextColor,
                                             nil] forState:UIControlStateNormal];
}
else {
    NSLog(@"no");
}
于 2013-02-02T04:43:34.920 回答