2012-07-06 125 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

相關問題