2010-03-21 39 views

回答

0

您可以添加視圖作爲主窗口的子視圖,並把它上面的tabBarController的觀點。它將始終可見。

2

最基本的答案是建立在視圖層次結構的頂部視圖。

讓我們以上述的基於視圖標籤的屏幕截圖的例子。比方說,該應用的根視圖控制器是UITabBarController一個子類,稱爲RootViewController

通常,您的應用程序委託將有一個方法,將類似於此:

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    [window addSubview:rootViewController.view]; 
    [window makeKeyAndVisible]; 
} 

如果你希望你的看法只是「重疊」,這是簡單的。假設您希望您的「持續視圖」爲100像素高,並且可以拉伸屏幕寬度。假設您已經爲該視圖創建了一個類,並且它被稱爲PeristentView。您的代碼會是這個樣子:

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    [window addSubview:rootViewController.view]; 

    PersistentView* persistentView = [[PersistentView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; 
    [window addSubview:persistentView]; 
    [persistentView release]; 

    [window makeKeyAndVisible]; 
} 

,因爲你要持續以低於視圖層次結構,從而使rootViewControllerview平先在這裏的順序很重要,那麼持續的觀點來自第二。

如果你想持續以「倒推」的屏幕上欣賞到休息,你就必須改變這種了一下。由於在默認情況下,你是在告訴窗口到根視圖控制器的視圖的全部添加爲一個子視圖,你想要做的,而不是什麼調整rootViewController.viewframe因此它不會佔據整個屏幕,並重新定位其origin

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    PersistentView* persistentView = [[PersistentView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; 
    [window addSubview:persistentView]; 
    [persistentView release]; 

    CGRect frame = rootViewController.view.frame; 
    frame.size.height -= persistentView.frame.size.height; 
    frame.origin.y += persistentView.frame.size.height; 
    rootViewController.view.frame = frame; 
    [window addSubview:rootViewController.view]; 

    [window makeKeyAndVisible]; 
} 

我只是與現有的基於欄選項卡項目測試了這(使用純UIView,而不是創建一個PersistentView類來引導測試),它工作正常。

相關問題