我有一个导航栏应用程序,它使用我创建的自定义标题:
@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,我就不能再备份了。有没有一种方法可以使标题消失而不会在导航 Controller 中丢失它?
最佳答案
如果您想让按钮说back
,那您就走错了路。
你需要在 View Controller 中放置一些像这样的代码
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:nil
action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release]; backButton = nil;
现在,当下一页被插入堆栈时,后退按钮将显示 back
而不是我们刚刚来自的 Controller 的 title
。
现在,如果您希望后退按钮说出前一个 View Controller 的 title
,但您不希望当前查看 View Controller 时标题显示在顶部。您可以像这样简单地将标题 View 设置为空白 View :
self.navigationItem.titleView = [[UIView alloc] initWithFrame:CGRectZero];
关于ios - 你如何摆脱导航栏顶部的标题,但在项目中保留标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094646/