2012-06-25 43 views
0

我正在使用縱向模式的小型表格視圖在iOS應用上工作。我希望這種觀點在景觀模式中變得完全不同。我還沒有編碼,但像http://www.vertex42.com/ExcelArticles/Images/timeline/Timeline-for-Benjamin-Franklin.gif(它將在滾動視圖)自定義視圖在橫向模式下替換TableView

我已經讀過這樣的東西:「Trying to load new view upon orientation change」但作爲我的肖像視圖是UITableView我不知道如何設置縱向視圖...

我正在使用由AppDelegate啓動的UITableViewController子類。

謝謝您的回答和我的英語不好對不起......

編輯:解決的辦法:你要創建一個自定義的UIViewController與這將是的tableView的委託和數據源的兩種觀點。然後在 - (布爾)shouldAutorateTo .... 你設置「隱藏」屬性做你想做的。

/!\不要忘了啓動你的財產的tableView並設置其委託和數據源屬性

回答

0

如果你想要更多的靈活性,取出UITableViewController,把一個UIViewControllerUITableView內。至於輪換方面,我可能會在旋轉的時刻將UITableView換成UIScrollView

+0

感謝您的快速回答,我已經學會了用BNR指南制定(我們把數據源,委託在同一個文件),所以我還沒有學習它,有沒有在這個備選文件的地方?我想我將不得不將這個UIViewController設置爲符合UITableViewDelegate和DataSource協議。這是真的嗎? 是不是可以做一個控制器層次結構,其中一個用於橫向,另一個用於縱向(我不必調整我的實際TableViewController ...) –

+0

我沒有說過必須將「UITableViewDataSource」和'UITableViewDelegate' ...是的,你必須遵守這些協議。我認爲你現在應該這樣做,所以你可以在將來擁有更多的靈活性。 – Peres

+0

好的,我會做。非常感謝。我很驚訝,我的答覆有多快! –

0

您可以添加滾動視圖爲您self.view的孩子,然後在視圖控制器,你可以做到這一點

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
{ 
    if (UIDeviceOrientationIsLandscape(toInterfaceOrientation)) { 
     tableView.hidden = YES; 
     scrollView.hidden = NO; 
    } 
    else { 
     tableView.hidden = NO; 
     scrollView.hidden = YES; 
    } 
} 
+0

好吧,我現在試試這個!感謝你們的這些快速回復! 你知道我如何獲得我的肖像視圖嗎?你命名爲「tableView」的我用self.tableView嘗試過,但它給了我一個白色屏幕...... –

相關問題