Только половина навигационной панели отображается для UINavigationController - PullRequest
0 голосов
/ 02 декабря 2011

Я создал очень простое приложение с UINavigationController в качестве корневого контроллера, но при его запуске отображается только половина (левая сторона) панели навигации.Почему это?Это кажется странным - если бы я сделал что-то не так, вы бы подумали, что он вообще не будет отображаться, а вместо этого точно его половина!

Контроллер выглядит следующим образом:

@interface RootController : UINavigationController { 
    UIWebView*  webView;
    NSMutableString       *htmlString;
}

С соответствующими объявлениями @property и @ synthesize.

Я не использую никакие .nib для контроллера / вида.Делегат приложения:

- (BOOL)application:(UIApplication *)application  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    RootController* theRVC = [[RootController alloc] init];
    self.window.rootViewController = theRVC;
    [theRVC release];
    [self.window makeKeyAndVisible];
    return YES;
}

И контроллер имеет следующий соответствующий код:

- (void)loadView
{
    webView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    self.view = webView;
    [webView release];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
}

1 Ответ

1 голос
/ 02 декабря 2011

Вы не должны наследовать от UINavigationController.

Вместо этого выведите класс RootController из UIViewController. Затем в делегате приложения вы инициируете UINavigationController, передавая RootController, и устанавливаете его как windows rootViewController.

- (BOOL)application:(UIApplication *)application  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    RootController* theRVC = [[RootController alloc] init];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:theRVC];
    self.window.rootViewController = navController;
    [theRVC release];
    [navController release];
    [self.window makeKeyAndVisible];
    return YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...