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