[英]iOS: Make navigation bar always visible in UITableViewController
我已經搜索了並且一直無法找到我的問題的答案。
我有一個Table View Controller,並且我需要導航欄始終在屏幕頂部可見,並且不能與表格視圖一起向上滾動。 我見過一些解決方案,建議我調整內容插圖,將其設置為半透明等。這些都不起作用。 如果您能提供任何解決方案/建議,我將不勝感激!
-(void)viewDidLoad {[super viewDidLoad];
self.navigationController.navigationBarHidden = NO;
self.navigationController.navigationBar.translucent=YES;
self.tableView.contentInset = UIEdgeInsetsMake(44,0,0,0);
self.automaticallyAdjustsScrollViewInsets = NO;
self.edgesForExtendedLayout=UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars=NO;
self.automaticallyAdjustsScrollViewInsets=NO;
if ([UIScreen mainScreen].scale > 1.0)
{
[self->btnBack setImage:[UIImage imageNamed:@"back_button@2x.png"]];
}
else
{
[self->btnBack setImage:[UIImage imageNamed:@"back_button.png"]];
}
self.tableView.separatorColor = [UIColor colorWithRed:69/255.0 green:189/255.0 blue:150/255.0 alpha:1.0];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bar_bg.png"] forBarMetrics:UIBarMetricsDefault];
NSLog(@"Loading up coupons");
MWRAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
if([g_categoryName isEqualToString: @"All"]){
NSMutableArray *coupons = [appDelegate getAllCoupons];
NSMutableArray *contests = [appDelegate getAllContests];
NSArray *newArray=[contests arrayByAddingObjectsFromArray:coupons];
self.fetchedRecordsArray = newArray;
}
else {
NSMutableArray *coupons = [appDelegate getCatCoupons];
NSMutableArray *contests = [appDelegate getAllContests];
NSArray *newArray=[contests arrayByAddingObjectsFromArray:coupons];
self.fetchedRecordsArray = newArray;
}
[self.tableView reloadData];
}
您可以嘗試將UITableViewController嵌入UINavigationControler中。
使用情節提要:選擇您的UITableViewController,按編輯器>嵌入>導航控制器。
或者通過代碼,創建一個UINavigationController並將您的tableviewcontroller設置為其rootviewcontroller:
UINavigationController* aNavigationController = [[UINavigationController alloc] initWithRootViewController:yourTableViewController];
並呈現aNavigationController而不是呈現yourTableViewController ;-)
ps:如果yourTableViewController沒有嵌入在導航控制器中,則調用self.navigationController只會返回nil,對其執行的任何操作也將為nil。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.