Създадох приложение, базирано на навигационен контролер. Изгледът, който се отваря под лентата за навигация, има UIImageView и куп бутони за „разкриване на детайли“ в горната част на te 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;
}
Друго нещо е, че ако използвам метода „addsubview“, тогава навигационната лента се съкращава, докато ако присвоя навигационния контролер на 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 и бутоните.