SearchMainTableViewController

SearchMainTableViewController

那个尤里卡的时刻已经使我真正地摆脱了这个问题。我已经在代码中创建了一个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是一个简单的控制器。我没有添加任何代码。我只是希望查看视图是否可以正确加载(由于我没有十叹的声誉,因此无法显示)。

任何帮助都会很棒。我觉得我缺少一些小东西。我在任何项目中遇到的所有问题都围绕TableViews展开。他们是我的宿敌。

干杯

最佳答案

我发现在iOS7中使用UINavigationBar时,半透明设置将导致导航视图从0,0开始,而不是通过使用64,0进行分解。如果你改变

Translucent = NO;

您的UINavigation栏不会掩盖您的新视图。我遇到过同样的问题:
Here

祝好运!

关于ios - 无法停止覆盖插入式 View 的导航栏-为什么会发生?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20961413/

10-09 00:32