2014-01-06 38 views
3

那個尤里卡時刻已經完全避開了我這個問題。我在代碼中創建了一個NavigationController。附上一個rootviewcontroller,它創建了一個tableview(也在代碼中)。這一切都按預期工作。該tableview禮物,從右側等選項推拉負荷等無法停止覆蓋推送視圖的導航欄 - 爲什麼會發生?

當我則在此第一tableview選擇一個選項加載UIView(不帶表只是一些圖片)這就是我得到(哈啊。 ..不能顯示,因爲我需要10個聲望張貼圖像顯然......嘆氣!)。

無論如何,這個觀點正在被推向右邊。然而,視圖的內容被導航欄掩蓋(部分)。它太高了。

我已經用於創建此問題的代碼如下所示:

SearchMainTableViewController.h

#import <UIKit/UIKit.h> 
#import "CRPSearchMainTableViewController.h" 

@interface CRPSearchMasterViewController : UINavigationController 

@property (strong, nonatomic) UINavigationController *myNavigationController; 
@property (strong, nonatomic) CRPSearchMainTableViewController *myMainTableViewController; 

@end 

SearchMainTableViewController.m

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    _myMainTableViewController = [[CRPSearchMainTableViewController alloc] initWithNibName:nil bundle:nil]; 
    myNavigationController = [[UINavigationController alloc] initWithRootViewController:_myMainTableViewController]; 

    [self.view addSubview:myNavigationController.view]; 
} 

在我SearchMainTableViewController我:

#import "CRPRegistrationMasterViewController.h" 
#import "CRPFixedSearchViewController.h" 
#import "CRPSettingsPickerViewController.h" 

@interface CRPSearchMainTableViewController : CRPRegistrationMasterViewController <UITableViewDataSource, UITableViewDelegate> 

@property (strong, nonatomic) UITableView *myTableView; 
@property (strong, nonatomic) CRPFixedSearchViewController *myFixed; 
@property (strong, nonatomic) CRPSettingsPickerViewController *mySettingsPicker; 

@end 
所述SearchMainTableViewController.m的

和節:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    self.title = @"Settings"; 
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(loadNext)]; 

    myTableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain]; 
    myTableView.delegate = self; 
    myTableView.dataSource = self; 
    [myTableView registerNib:[UINib nibWithNibName:@"settingsTableCell" bundle:nil] forCellReuseIdentifier:tableCell]; 

    myParams = [self getSearchParams]; 
    if (myParams){ 
     NSLog(@"I have params"); 
    } else { 
     NSLog(@"I don't have params"); 
     // First time of running this 
     SearchParams *params = [NSEntityDescription insertNewObjectForEntityForName:@"SearchParams" inManagedObjectContext:_myManagedObjectContext]; 
     if (params != nil) 
     { 
      NSError *paramsError = nil; 
      if ([_myManagedObjectContext save:&paramsError]) 
      { 
       NSLog(@"I have added a SearchParams field in the table"); 
      } else { 
       NSLog(@"I have a problem with adding Search Params into the table: %@", [paramsError userInfo]); 
      } 
     } else { 
      NSLog(@"Cannot get entity"); 
     } 
    } 

    [self.view addSubview:myTableView]; 

} 

... 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

    switch (indexPath.row) { 
    case 2: 
    { 
     mySettingsPicker = [[CRPSettingsPickerViewController alloc] initWithNibName:@"SettingsPicker" bundle:nil]; 
     [self.navigationController pushViewController:mySettingsPicker animated:YES]; 

    } 
     break; 

CRPSettingsPickerViewController是一個簡單的控制器。我沒有添加任何代碼。我只是想看看是否能正確加載視圖(我無法顯示,因爲我沒有10嘆息的聲譽)。

任何幫助將是偉大的。我有一種感覺,我錯過了一些小事。我在任何項目中遇到的所有問題都圍繞着TableViews。他們是我的剋星。

乾杯

+0

打開UINavigationBar的半透明:http://stackoverflow.com/questions/20258933/ios7-pop-view-controllers-forces-the-uiimageview-to-drop – logixologist

+0

非常感謝!我現在可以繼續... – Darren

回答

2

我發現,使用iOS7的UINavigationBar的時候,半透明的設置將導致導航視圖通過使用64,0在0,0,而不是保理它開始。如果您更改

Translucent = NO; 

您的UINavigation欄不會掩蓋您的新視圖。我有同樣的問題: Here

祝你好運!

+0

再次感謝!我浪費了幾個小時,試圖找出原因......並試圖找到答案,但要知道你在找什麼,你需要知道你在找什麼。 – Darren