2011-10-19 44 views

回答

-2
  1. MasterViewController.h


    @property (assign,nonatomic) id delegate; 

  1. MasterViewController.m


    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     if (delegate!=nil) { 
      // get your data here { your code here } 
      [delegate sendDataToView:data]; 
     } 
    } 

  1. 在您的AppDelegate.m文件中。


    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
     // Override point for customization after application launch. 
     UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController; 
     UINavigationController *navigationController = [splitViewController.viewControllers lastObject]; 
     splitViewController.delegate = (id)navigationController.topViewController; 


     // set the view controller here 
     UINavigationController *masterNavController = [splitViewController.viewControllers objectAtIndex:0]; 
     MasterViewController *masterViewController = [masterNavController.viewControllers objectAtIndex:0]; 
     UINavigationController *detailNavController = [splitViewController.viewControllers objectAtIndex:1]; 
     DetailViewController *detailViewController = [detailNavController.viewControllers objectAtIndex:0]; 
     masterViewController.delegate = detailViewController; 

     return YES; 
    } 

+1

這是如何與設置故事板中的分割視圖控制器有關的任何方式? – memmons

0

還沒有找到任何東西。可行的解決方案是繼續爲每個視圖(至少是複雜視圖)創建故事板,並讓appDelegate類包含它們。我真的很驚訝的故事板IDE不允許添加子視圖...也許在下次更新,如果還沒有。

0

Matthijs Hollemans的書"ios5 by tutorials"包括如何在iPad上使用故事板。但該書需要購買,免費的機器人。我只是想找到示例代碼,但失敗了。

+0

是的,我看到那本書包含示例,但爲(希望)簡單示例購買書籍有點愚蠢。 – tadasz

+0

您可以創建一個作爲代理的協議。該委託用於將數據從MasterViewController發送到您的DetailViewController。 – pyanfield

0

你可以這樣做,如下所示。

  1. 創建一個新的協議作爲委託MyDataDelegate.h。

@protocol MyDataDelegate 
- (void)sendDataToView:(MyData *)data; 
@end 
0
  1. 在DetailViewController.h文件。


    @interface DetailViewController : UIViewController 

  1. 在DetailViewController.m文件。


    - (void)sendDataToView:(MyData *)data 
    { 
     // your code how to display data. 
    } 

0

使用的Xcode 4創建一個主 - 從應用程序的項目模板。轉到故事板文件,展開主視圖並通過選擇名爲「Detail」的默認靜態單元格並按Cmd + D來添加另一個靜態單元格。將新靜態單元格命名爲「Hello」(或任何您喜歡的內容)。 Now in您MasterViewController.m文件,實現這個:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [self.detailViewController setDetailItem:[[[tableView cellForRowAtIndexPath:indexPath] textLabel] text]]; 
} 

這個例子將在detailViewController設置默認標籤的masterViewController所選單元格南。 請注意,setDetailItem:方法需要一個id參數,在本例中您傳遞了一個NSString *。

相關問題