2012-07-06 122 views
1

我想创建基于分割视图的应用程序的基础,因为在过去的几天中,我花了一段时间查看并尝试无法使用的教程,不完整或已过时。设置基本的基于分割视图的应用程序

什么是我应该遵循的步骤,我以后有基本设置:

  1. 如何更改按钮的名称在工具栏上?
  2. 我想包括一个弹出菜单;如何更改该菜单顶部的名称?
+1

我编辑的问题,除去从标题标签,并使其按照Q&A形式更好一点。感谢分享! – 2012-07-06 19:42:32

+0

谢谢!这是我的第一个教程,并不确定格式 – BloonsTowerDefence 2012-07-06 19:49:19

回答

4

本教程面向初学者。如果你已经在Objective-c中编写了一段时间,你可能在这里不会学到任何东西。

完成本教程后,您将看到一个包含三个(或多个)不同视图的基于分割视图的应用程序,以及用于导航应用程序的弹出式菜单。

步骤1:获得一些苹果代码

获取(下载)从苹果的MultiDetailsView示例代码。 http://developer.apple.com/library/ios/#samplecode/MultipleDetailViews/Introduction/Intro.html

enter image description here

此代码为我们提供了具有2个不同的观点基于SPLITVIEW的应用程序。除非你不知道这个示例代码存在,否则这没什么大不了的。


步骤2:确保一切正常

打开在Xcode项目。构建,然后运行该项目以确保一切正常。当我试图建立和运行应用程序,我就遇到了这个错误:

XCode could not find a valid private certificate/valid key-pair for this profile in your keychain

我意识到,我的证书是过时的(我猜测这只是揭发,因为代码是直接从苹果?)。如果碰巧遇到同样的问题,请查看this线程。或者,您可以从应用商店的Xcode下载最新版本。

不管怎么说,如果一切正常,你应该有以下两个观点: enter image description here enter image description here


步骤3:添加了自己的看法

部分中:创建文件

现在是时候添加一些更多的意见(wh ich可能是你正在寻找的)。

转到文件 - >新建文件...

如果您使用的是Xcode 4:选择Objective-C Class,然后为子类选择UIViewController,并确保选中了'针对iPad'和'With XIB for user interface'。 enter image description here

如果您使用的Xcode 3:选择UIViewController子类,然后再检查 '针对iPad的' 和 '有厦门国际银行用户界面'

enter image description here

的文件将出现在您的左侧菜单中,如果它们位于错误的位置,则可以将它们拖到相应的目录(.h和.h应位于类下,而.xib应位于资源下)。

enter image description here

首先,SecondDetailViewController.h的内容复制到您的.h文件中,并SecondDetailViewController.m的内容复制到您的.m文件。确保它最初所说的SecondDetailViewController它现在有你的文件的名称。

我的.h文件: enter image description here

我.m文件: enter image description here


b部分:RootViewController.m内容

接下来,开拓RootViewController.m

当前此时,3个原始.h文件正在导入。我们需要添加我们刚创建的那个。

enter image description here

接下来,让你一路下跌到的tableView方法,并从2返回的值更改为3。每次添加一个新的视图,你需要增加这个数! (即,如果在完成本教程后添加另一个视图,请将其更改为4)。基本上,这个方法只返回你有多少个视图。

enter image description here

权下,处理什么会在你的菜单中显示的方法。我们需要在这里做一些改变。由于我们在if/else语句中添加了另一个选项,因此必须将原始else更改为if else,并且我们必须提供一个条件,在我们的示例中,该条件仅检查其第二行(索引1处)是否为(indexPath.row == 1)

enter image description here

下一个方法处理该视图显示。添加另一个if声明。在第一行,我有YourViewHereViewController绿色,你应该有你的.h/.m文件的名称。然后,我将@"YourViewHereViewController"标记为红色,您应该具有.xib文件的名称。

enter image description here


c部分:厦门国际银行的

最后但并非最不重要的,我们需要去处理我们的厦门国际银行文件。首先打开SecondDetailView.xib并复制视图。然后将其粘贴到您创建的.xib文件中(删除可能在那里的任何内容)。您可以通过双击文字来更改视图的标题。

enter image description here

最后要做的事情是行连接。控制 - 单击文件的所有者,并将其拖到工具栏并选择工具栏(这是RootController按钮将如何出现在工具栏上)。

enter image description here

再次控制,点击文件拥有者,然后将其拖动到视图,然后选择视图。

enter image description here


如果你建立它现在运行,就可以工作了!


这里有一些问题,我有我在这个点之后:

问:如何更改按钮的名称在工具栏上? 答:工具栏(和为此按钮)从RootViewController.m文件控制,寻找这个方法

- (void)splitViewController:(UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc { 

    // Keep references to the popover controller and the popover button, and tell the detail view controller to show the button. 
    barButtonItem.title = @"Root View Controller"; 
    self.popoverController = pc; 
    self.rootPopoverButtonItem = barButtonItem; 
    UIViewController <SubstitutableDetailViewController> *detailViewController = [splitViewController.viewControllers objectAtIndex:1]; 
    [detailViewController showRootPopoverButtonItem:rootPopoverButtonItem]; 
} 

注意barButtonItem.title = @"Root View Controller";,改变@到任何你想要的!注意:如果您将此字段留空,则该按钮不会出现!

问:如何更改弹出式菜单顶部的名称? enter image description here

答:添加以下行来声明/更改名称。 self.title = @"Menu";,在您的RootViewController.m文件的- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {方法中。

enter image description here

相关问题