2011-07-29 71 views
0

開頭我已經嘗試開始基於視圖的應用程序和基於窗口的應用程序,但我仍然有同樣的問題。 當我添加一個導航欄時,它看起來像從〜(0,20)的繩索開始,並在它和「系統托盤」之間留下一些空間(我找不到與時鐘和電池等相關的字。 )ViewController視圖以〜(0,20)

我不明白爲什麼會出現這種情況,因爲nslog幀告訴我它起源於(0,0)(奇怪的是寬度爲0:/但它清晰可見)。

代碼:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x, 
                     self.view.frame.origin.y+48.0f, 
                     self.view.frame.size.width, 
                     self.view.frame.size.height)]; 
     [image setImage:[UIImage imageNamed:@"IMG_0792.PNG"]]; 
     [self.view addSubview:image]; 

     self.navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(self.view.frame.origin.x, 
                    self.view.frame.origin.y, 
                    self.view.frame.size.width, 
                    45.0f)]; 

     [navBar setDelegate:self];  
     [navBar pushNavigationItem: [[UINavigationItem alloc] initWithTitle:@"Image Stream"] animated:NO]; 
     [self.view addSubview:navBar]; 
    } 
    return self; 
} 

,並在我的appdelegate聲明即可,保留屬性和:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.menu = [[MenuViewController alloc] initWithNibName:nil bundle:nil]; 
    [self.window setRootViewController:menu]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

將是非常好的,如果有人知道爲什麼會這樣。感謝

回答

1

當採用t定位視圖。?。他的超級觀點的座標,使用範圍,而不是框架。如果有一個狀態欄,你的superview.frame.x將是非零的,但子視圖的座標是相對於超視圖而不是位置。

+0

謝謝@joerick那個伎倆:) –

0

檢查以下內容:

  • 在你UIViewController's廈門國際銀行,如果有狀態欄。如果是,則將無。 (您可以設置在檢查器中,只需選擇你的根UIView

  • 你將你的UIViewController到應用程序委託的由XIB?如果是的話,去看看在App的委託廈門國際銀行的UIViewController,看看它是否有狀態。酒吧

PS:其所謂的狀態欄

編輯那你用你UINavigation的45.0f框架

+0

我沒有用於VC的XIB,正如你所看到的,我不會用它啓動它:'[[MenuViewController alloc] initWithNibName:nil bundle:nil];' 和appdelegate xib我猜你意思是MainWindow.xib(?),這個有狀態欄,但它並沒有幫助刪除它。任何其他建議。當開始一個新項目時,我得到了這種行爲,只是添加一個viewcontroller,所以我不明白我做錯了什麼。 –

+0

我已編輯我的帖子。 – Peres

+0

的45.0f是導航欄的不僅僅是高度,這是我所得到的印刷雖然幀時: 導航欄架: X:0 Y:0 寬度:0 高度:1077149696 (和它是完全同樣的imageview和self.view以及 –

相關問題