Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何去掉导航栏顶部的标题,但将标题保留在项目中?_Ios_Objective C_Xcode - Fatal编程技术网

Ios 如何去掉导航栏顶部的标题,但将标题保留在项目中?

Ios 如何去掉导航栏顶部的标题,但将标题保留在项目中?,ios,objective-c,xcode,Ios,Objective C,Xcode,我有一个导航栏应用程序,它使用我创建的自定义标题,如下所示: @implementation UINavigationBar (Background) -(void)drawRect:(CGRect)rect{ UIImage *customLogo = [UIImage imageNamed:@"UINavBar.png"]; [customLogo drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.hei

我有一个导航栏应用程序,它使用我创建的自定义标题,如下所示:

@implementation UINavigationBar (Background)

-(void)drawRect:(CGRect)rect{

UIImage *customLogo = [UIImage imageNamed:@"UINavBar.png"];
[customLogo drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];

}

@end
我试图去掉顶部的标题,而不去掉导航项中显示的单词。以下是我在viewController中设置的变量:

    NSArray *tableDataSource;
NSString *CurrentTitle;
NSInteger CurrentLevel;
我认为问题在于:

if(CurrentLevel == 0) {

NSArray *tempArray = [[NSArray alloc] init];
self.tableDataSource = tempArray;
[tempArray release];

self.tableDataSource = [self.industryData objectForKey:@"Rows"];
self.navigationItem.title = @"Back";

}
else
    self.navigationItem.title = CurrentTitle;
}

如果我将navigationitem.title设置为nil,则无法再备份。有没有一种方法可以让标题消失而不丢失在navigationcontroller中?

只需像这样设置标题

self.navigationItem.title = @"";  
如果不继续读下去的话,那就可以了

也可能是您的NSString未初始化。试试这个

NSString *currentString = @"";  
这样,您就不会说导航项等于CurrentString,从而将其设置为nil。

另一个指针,我从不设置第一个单词大写的变量。使事情与设定的词混淆…

只需像这样设置标题

self.navigationItem.title = @"";  
如果不继续读下去的话,那就可以了

也可能是您的NSString未初始化。试试这个

NSString *currentString = @"";  
这样,您就不会说导航项等于CurrentString,从而将其设置为nil。

另一个指针,我从不设置第一个单词大写的变量。使事情与设定的词混淆…

如果你想让按钮说“后退”那你就错了

您需要在视图控制器中放置一些类似的代码

  UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                             style:UIBarButtonItemStyleBordered
                                                            target:nil
                                                            action:nil];

 self.navigationItem.backBarButtonItem = backButton;
 [backButton release]; backButton = nil;
现在,当下一页被推到堆栈上时,后退按钮将显示
back
,而不是我们刚从的控制器的
title

现在,如果希望“后退”按钮显示上一个视图控制器的
标题
,但不希望当前查看视图控制器时标题显示在顶部。只需将标题视图设置为空白视图,如下所示:

self.navigationItem.titleView = [[UIView alloc] initWithFrame:CGRectZero];

如果你想让按钮说
back
,那你就错了

您需要在视图控制器中放置一些类似的代码

  UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                             style:UIBarButtonItemStyleBordered
                                                            target:nil
                                                            action:nil];

 self.navigationItem.backBarButtonItem = backButton;
 [backButton release]; backButton = nil;
现在,当下一页被推到堆栈上时,后退按钮将显示
back
,而不是我们刚从的控制器的
title

现在,如果希望“后退”按钮显示上一个视图控制器的
标题
,但不希望当前查看视图控制器时标题显示在顶部。只需将标题视图设置为空白视图,如下所示:

self.navigationItem.titleView = [[UIView alloc] initWithFrame:CGRectZero];

它去掉了标题,但也去掉了导航项。我上面提到的方法会去掉标题,因为我所做的就是将标题设置为空白。你确定你的导航项设置正确吗?将标题设置为空字符串会完全删除我的快速模型上的“后退”按钮。它会删除标题,但也会删除导航项。我上面提到的方法会删除标题,因为我所做的就是将标题设置为空。你确定你的导航项设置正确吗?将标题设置为空字符串会完全删除我的快速模型上的“后退”按钮。