2010-06-02 2 views
1

Я просто смотрю на создание простого viewController программно, у меня есть файл ViewController.xib, который я установил цвет фона RED в построителе интерфейса. Я также добавил следующее к моему AppDelegate.mПростой ViewController/View, удалить белый бар?

@implementation syntax_MapViewAppDelegate 
@synthesize window; 

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    viewController = [[MapViewController alloc] init]; 
    [window addSubview:[viewController view]]; 
    [window makeKeyAndVisible]; 
    return YES; 
} 

-(void)dealloc { 
    [viewController release]; 
    [window release]; 
    [super dealloc]; 
} 
@end 

Когда я запускаю код делает то, что я ожидаю, кроме белой полосы в нижней части экрана, может кто-нибудь дать мне какие-либо указатели в том, чтобы удалить это? У меня есть ощущение, что мне может понадобиться позиционировать представление в окне, но я не уверен, как это сделать?

alt text

веселит Гэри

ответ

1

Установите рамку просмотра.

viewController.view.frame = CGRectMake(0.0,20.0,320.0,460.0); 

Теперь вид охватывает весь экран с красным цветом.

Вы также можете установить его из интерфейса.

+0

Отлично, именно то, что я был после. Очень признателен. – fuzzygoat

+0

Просто любопытно, как вы устанавливаете это из конструктора интерфейса? – fuzzygoat

+0

Если размер вашего вида будет фиксироваться через время жизни приложения, вы можете установить свойство frame view из интерфейса Builder. – Jim

1

Что-то подобное может спасти вашу проблему:

[[viewController view] setFrame:CGRectMake(0, 20, 320, 460)]; 
+0

Здесь будет больше экрана, поскольку вы указываете высоту 480, потому что мы уже принимаем 20 пикселей верхнего бара. – Jim

+0

@Jim: ты абсолютно прав. Ошибочно делать по привычке, принимая высоту экрана 480. Я исправляю ее. – BAndonovski

0

Установите свой вид, чтобы изменить размер динамически с помощью autoresizingMask или установить его рамки в явном виде.