self.title和导航栏在iOS 7中不起作用

时间:2013-09-18 23:40:37

标签: ios objective-c cocoa-touch

出于某种原因,我以前只有

self.title = @"Title";

让标题栏显示......但现在在iOS 7中它不会显示任何内容。

我一直在研究这个问题大约2个小时......我甚至无法启动并运行标题栏。

我也试过

self.navigationController.navigationBar.topItem.title = @"Title";
self.navigationItem.title = @"Title";

以上工作都没有。

这是我的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.title = @"Title";
    self.navigationItem.title = @"Title";
    self.navigationController.navigationBar.topItem.title = @"Title";
    // Do any additional setup after loading the view.
}

我不知道还有什么可以尝试,我刚刚下载了最新版本的iOS 7 / Xcode,我使用了标签模板。

我是Xcode的新手,所以我真的不知道自己在做什么。


编辑,更多信息如下:

First Images

Second Images

Third Images

Fourth Images

Fifth Images

4 个答案:

答案 0 :(得分:6)

您所做的就是设置“模拟指标”。这就是全部:它模拟导航栏。它实际上并没有给你一个导航栏。您说您不需要实际导航,因此您不需要导航控制器。虽然这是一个非常好的方法,但导航控制器带来了更多的好处。例如,设置self.title不适用于独立的导航栏,但导航控制器会将其导航栏的标题设置为self.title的所有内容。

因此,在您的情况下,即使您没有使用任何实际的导航功能,我也只是将您的视图控制器嵌入到导航控制器中。

答案 1 :(得分:0)

您还可以将导航项声明为IBOutlet,然后更改该出口的标题,如此

in .h

IBOutlet UINavigationItem *navItem;

in .m

navItem.title = @"New Title";

也可以,但请确保在“界面”构建器中链接出口。

答案 2 :(得分:0)

self.title=@"!@#$%^&*()";
UILabel *headlinelabel = [UILabel new];
headlinelabel.font = [UIFont fontWithName:@"Avenir-Light" size:28];
headlinelabel.textAlignment = NSTextAlignmentCenter;
headlinelabel.textColor = [UIColor customBlueColor];

NSMutableAttributedString *attributedString =[[NSMutableAttributedString alloc] initWithString:self.title];
headlinelabel.attributedText = attributedString;
[headlinelabel sizeToFit];
[self.navigationItem setTitleView:headlinelabel];

你可以试试这个):

答案 3 :(得分:0)

试试

self.navigationController.navigationBar.topItem.title = @"The Title";