Я создал приложение на основе контроллера навигации. Представление, которое открывается под панелью навигации, также имеет UIImageView и несколько кнопок «раскрытие деталей» поверх uiimage для целей навигации.
Что я замечаю, так это то, что эти кнопки отклонились от своего конструктора (конструктора интерфейса), когда они появляются в симуляторе.
Я подозреваю, что панель навигации имеет какое-то отношение к этому, но они не перемещаются вниз пропорционально высоте панели навигации.
Я не знаю, как сказать им, чтобы они держались своей позиции.
UIImage не выходит за пределы высоты экрана даже с навигационной панелью вверху.
Есть ли у них какие-либо рекомендации / ошибки, о которых нужно знать при использовании панели навигации вверху?
Я использую xcode 4
Спасибо
Изменить:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
StartScreenViewController *controller =
[[StartScreenViewController alloc] initWithNibName:@"StartScreenViewController" bundle:nil];
_navigationController = [[UINavigationController alloc] initWithRootViewController:controller];
_navigationController.view.frame = CGRectMake(0,0, 320, 460);
_navigationController.title = @"Test";
//[self.window addSubview:_navigationController.view];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
Другое дело, что если я использую метод «addubview», тогда панель навигации усекается, а если я назначаю контроллер навигации для window.rootviewcontroller, тогда я вижу всю панель навигации.
Изменить 2
Вот как выглядит мой AppDelegate.h
@interface TestAppDelegate : NSObject <UIApplicationDelegate> {
IBOutlet UIView *mainView;
}
@property (nonatomic, retain) IBOutlet UIView *mainView;
@property (nonatomic, retain) IBOutlet UIWindow *window;
//@property (nonatomic, retain) IBOutlet UIViewController *viewController;
@end
Вот метод didFinishLaunchingWithOptions из AppDelegate.m
StartScreenViewController *controller = [[StartScreenViewController alloc] initWithNibName:@"StartScreenViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
navController.title = @"Test";
navController.view.frame = CGRectMake(0, 0, 320, 460);
[self.mainView addSubview:navController.view];
[self.window makeKeyAndVisible];
MainWindow.xib содержит делегат приложения и окно в качестве объектов. Под окном находится UIView.
В xib-файле StartScreenViewcontroller есть UIImageview и кнопки.