2010-05-13 76 views
1

如何更改UISplitView的「詳細信息」窗格中的視圖,以使其完全不同的視圖?UISplitView在詳細信息窗格中顯示不同視圖

我有相當多的麻煩了解它的全部接線方式,以及目前的情況應該在哪裏,有人請賜教嗎?

我希望能夠做的是根據用戶在左側窗格中的UITableView中選擇的內容來顯示特定的視圖(該視圖可以是圖像或更復雜的新聞文章視圖等等......許多不同的選項),那麼當用戶將iPad變成縱向視圖時,細節窗格中的該視圖將變爲其等效的縱向視圖版本。

這是否有意義?

我該怎麼做?

只是爲了集思廣益,這裏是我的想法是:

  • 創建一個拆分視圖項目

創建2個坯每個視圖:(附有視圖控制器???)

  • PortraitNewsStory
  • LandscapeNewsStory
  • PortraitImageBrowser
  • LandscapeImageBrowser
  • 等等

  • 當用戶旋轉iPad的(這應該在RootViewController.m做?)

  • 使用的XCode

  • 捕捉創建UISplitView控制

  • 更改DetailViewControllerview該怎麼辦?

  • profit ???

感謝 馬克

回答

0

更改 DetailViewController認爲我應該怎麼辦 呢?

簡單地說,你可以使用相應的nib文件創建另一個UIViewController(前稱爲MyCostomViewController)。然後執行該方法內部RootViewController的

下以下
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    /* 
    When a row is selected, set the detail view controller's detail item to the item associated with the selected row. 
    */ 
    //detailViewController.detailItem = [NSString stringWithFormat:@"Row %d", indexPath.row]; 
    MyCostomViewController *cus = [[MyCostomViewController alloc] initWithNibName:@"MyCostomViewController" bundle:nil]; 
    [detailViewController.view addSubview:cus.view]; 

} 
1

可以programmitically創建拆分視圖和中視圖UISplit的視圖控制器陣列添加視圖控制器。 因此,可以在分割視圖中更改視圖控制器。

self.splitViewController =[[UISplitViewController alloc]init]; 
    self.rootViewController=[[RootViewController alloc]init]; 
    self.detailViewController=[[FirstDetailViewController alloc]init]; 


UINavigationController *rootNav=[[UINavigationController alloc]initWithRootViewController:rootViewController]; 
UINavigationController *detailNav=[[UINavigationController alloc]initWithRootViewController:detailViewController]; 

self.splitViewController.viewControllers=[NSArray arrayWithObjects:rootNav,detailNav,nil]; 
self.splitViewController.delegate=self.detailViewController; 

,並改變 你必須setViewControllers到UISplitView

你可以看看這裏的例子http://kshitizghimire.com.np/uisplitviewcontroller-multipledetailviews-with-navigation-controller/

視圖控制器