2009-05-25 165 views
0

我想在用戶單擊按鈕時顯示視圖。我有層次結構是這樣的:將子視圖添加到視圖層次結構中

主窗口

-UIView 
--ScrollView 
---ScrollView.pages = UIViews 
----UIView (from above assignment) 
----TextView 
----InfoButton 

頁是的PageController對象的NSMutableArry。這些鉤到一個筆尖。這些筆尖是用戶在滾動視圖中滑動的頁面。

的InfoButton點擊連線像這樣:

- (IBAction) infoButton_click:(id)sender{ 
topView topViewViewController *topView = [[topViewViewController alloc] initWithNibName:@"TopView" bundle:[NSBundle mainBundle]]; 
//[self.navigationController pushViewController: topViewView animated:YES]; 
//[self.view addSubview: topViewView.view]; 
[super.view addSubview: topViewView.view]; 
[topViewView release]; 
} 

InfoButton是在滾動型的網頁之一。我已經註釋了已經嘗試過的不同代碼。沒有一個增加了觀點。什麼都沒發生。有沒有辦法將TopView作爲層次結構中的頂層視圖?

回答

2

您的目標是將視圖添加爲子視圖還是使用導航控制器在新視圖上滑動?目前我將假設後者。

- (IBAction)infoButton_click:(id)sender 
{ 
    TopViewController *topViewController = [[TopViewController alloc] initWithNibName:@"TopView" bundle:nil]; 
    [self.navigationController pushViewController:topViewController animated:YES]; 
    [topViewController release]; 
} 

這是正確的,如果你實際上有一個導航控制器。確保你真的做到了。當可可中「沒有任何事情發生」時,通常意味着某種東西是零。您應該檢查調試器或NSLog()以查看這些值中的任何值是否爲零。這是可能的(甚至可能),你的父母有一個導航控制器,但你沒有。

類應始終具有領先的資本。不要創建一個類「UIViewController」的稱爲「視圖」的變量。這是一個受苦的肯定途徑。 Objective-C是一種動態語言,對類型進行了有限的編譯器檢查。正確命名事物對於ObjC中的有效編程至關重要。

+0

這是在iPhone(可可觸摸)。它不是導航控制器。這是一個基於視圖的應用程序。正如我的OP所述,我嘗試了你展示的代碼,但它不起作用。 – 4thSpace 2009-05-25 15:49:48

1

根據您對上一個答案的評論,您想呈現一個模態視圖。您通過創建新視圖「modalView」並致電[topView presentModalViewController:modalView animated:YES]來完成此操作。

在iPhone操作系統的未來版本中,當然我不能評論它是否在NDA下,您可以通過在視圖上設置屬性來展示具有翻轉過渡的模式視圖控制器控制器將被呈現,其可能被稱爲modalTransitionStyle或某些情況。

相關問題