0

我是 SplitViewController 的新手,我遇到了以下问题。这是设置:

在 IB 中,我只有一个链接到 SVC 的 VC 作为细节 VC(这与标准的主细节项目模板相比,它有一个导航控制器作为细节层次结构的起点)。我这样做是为了尝试最大化细节 VC 中的图像空间。

然后,我将一个 UIToolbar(称为 imageTable)添加到我用 IBoutlet 连接到详细 VC 类的详细信息 VC。

我使用详细 VC 作为 SVC 委托。

然后我在详细 VC 中采用以下 SVC 委托 3 方法:

#pragma mark - SplitViewController Delegates
-(BOOL) splitViewController:(UISplitViewController *)svc
   shouldHideViewController:(UIViewController *)vc
             inOrientation:(UIInterfaceOrientation)orientation
{
  return UIInterfaceOrientationIsPortrait(orientation); 
}



-(void) splitViewController:(UISplitViewController *)svc
     willHideViewController:(UIViewController *)aViewController
         withBarButtonItem:(UIBarButtonItem *)barButtonItem
      forPopoverController:(UIPopoverController *)pc
{    
  barButtonItem.title=@"ImageList";
  NSMutableArray *toolbarItems=[self.imageTable.items mutableCopy];
  [toolbarItems insertObject:barButtonItem atIndex:0];
  self.imageTable.items=toolbarItems;
}



-(void) splitViewController:(UISplitViewController *)svc
     willShowViewController:(UIViewController *)aViewController
  invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
  NSMutableArray *toolbarItems=[self.imageTable.items mutableCopy];
  [toolbarItems removeObjectAtIndex:0];
  self.imageTable.items=toolbarItems;
}

因为我没有使用导航控制器作为 VC 的起点,所以我遇到了以下问题:

  • 当我转回横向时,UIToolBar 会自动消失。它是否在 SVC 类中固有,因为代表 VC 的 UIBarbuttonItem 在横向中不再需要重新出现,所以我创建的 UIToolbar 也是如此(强调“我”)......

  • 有什么方法可以向 UIToolbar 添加或启用标题,或者是使用标签的唯一方法。

谢谢

4

2 回答 2

0

查看我的 Apple 的MultipleDetailViews示例代码。他们在代码中创建 UIToolBar(在他们的第一个视图控制器中),

@property (nonatomic, retain) IBOutlet UIToolbar *toolBar;

然后为他们的其他视图声明 UINavigationBars

@property (nonatomic, retain) IBOutlet UINavigationBar *navigationBar;

我使用这个示例代码作为我的项目的起点,一切都很顺利。

此外,我不确定您对 Objective-C 有多陌生,但您可能想查看本教程,了解如何使用 MultipleDetailViews 示例代码。

于 2012-07-11T15:48:52.660 回答
0

我一直在 CS193P 课程中向前推进一点,我收集到的简单答案是:

如果您需要 UIToolbar(添加按钮或标题),只需将 Table View Controller 或您正在处理的任何视图控制器嵌入到 Navigation 控制器中 - 这样您就可以获得免费的 UIToolbar(可以轻松访问标题等)

即使您不需要 push/pop 或 segue,也要这样做。

九巴

于 2012-07-17T21:43:17.783 回答