我想創建基於分割視圖的應用程序的基礎,因爲在過去的幾天中,我花了一段時間查看並嘗試無法使用的教程,不完整或已過時。設置基本的基於分割視圖的應用程序
什麼是我應該遵循的步驟,我以後有基本設置:
- 如何更改按鈕的名稱在工具欄上?
- 我想包括一個彈出菜單;如何更改該菜單頂部的名稱?
我想創建基於分割視圖的應用程序的基礎,因爲在過去的幾天中,我花了一段時間查看並嘗試無法使用的教程,不完整或已過時。設置基本的基於分割視圖的應用程序
什麼是我應該遵循的步驟,我以後有基本設置:
本教程面向初學者。如果你已經在Objective-c中編寫了一段時間,你可能在這裏不會學到任何東西。
完成本教程後,您將看到一個包含三個(或多個)不同視圖的基於分割視圖的應用程序,以及用於導航應用程序的彈出式菜單。
步驟1:獲得一些蘋果代碼
獲取(下載)從蘋果的MultiDetailsView示例代碼。 http://developer.apple.com/library/ios/#samplecode/MultipleDetailViews/Introduction/Intro.html
此代碼爲我們提供了具有2個不同的觀點基於SPLITVIEW的應用程序。除非你不知道這個示例代碼存在,否則這沒什麼大不了的。
步驟2:確保一切正常
打開在Xcode項目。構建,然後運行該項目以確保一切正常。當我試圖建立和運行應用程序,我就遇到了這個錯誤:
XCode could not find a valid private certificate/valid key-pair for this profile in your keychain
我意識到,我的證書是過時的(我猜測這只是揭發,因爲代碼是直接從蘋果?)。如果碰巧遇到同樣的問題,請查看this線程。或者,您可以從應用商店的Xcode下載最新版本。
不管怎麼說,如果一切正常,你應該有以下兩個觀點:
步驟3:添加了自己的看法
部分中:創建文件
現在是時候添加一些更多的意見(wh ich可能是你正在尋找的)。
轉到文件 - >新建文件...
如果您使用的是Xcode 4:選擇Objective-C Class,然後爲子類選擇UIViewController,並確保選中了'針對iPad'和'With XIB for user interface'。
如果您使用的Xcode 3:選擇UIViewController子類,然後再檢查 '針對iPad的' 和 '有廈門國際銀行用戶界面'
的文件將出現在您的左側菜單中,如果它們位於錯誤的位置,則可以將它們拖到相應的目錄(.h和.h應位於類下,而.xib應位於資源下)。
首先,SecondDetailViewController.h的內容複製到您的.h文件中,並SecondDetailViewController.m的內容複製到您的.m文件。確保它最初所說的SecondDetailViewController
它現在有你的文件的名稱。
我的.h文件:
我.m文件:
b部分:RootViewController.m內容
接下來,開拓RootViewController.m
當前此時,3個原始.h文件正在導入。我們需要添加我們剛創建的那個。
接下來,讓你一路下跌到的tableView方法,並從2返回的值更改爲3。每次添加一個新的視圖,你需要增加這個數! (即,如果在完成本教程後添加另一個視圖,請將其更改爲4)。基本上,這個方法只返回你有多少個視圖。
權下,處理什麼會在你的菜單中顯示的方法。我們需要在這裏做一些改變。由於我們在if/else語句中添加了另一個選項,因此必須將原始else
更改爲if else
,並且我們必須提供一個條件,在我們的示例中,該條件僅檢查其第二行(索引1處)是否爲(indexPath.row == 1)
下一個方法處理該視圖顯示。添加另一個if
聲明。在第一行,我有YourViewHereViewController
綠色,你應該有你的.h/.m文件的名稱。然後,我將@"YourViewHereViewController"
標記爲紅色,您應該具有.xib文件的名稱。
c部分:廈門國際銀行的
最後但並非最不重要的,我們需要去處理我們的廈門國際銀行文件。首先打開SecondDetailView.xib並複製視圖。然後將其粘貼到您創建的.xib文件中(刪除可能在那裏的任何內容)。您可以通過雙擊文字來更改視圖的標題。
最後要做的事情是行連接。控制 - 單擊文件的所有者,並將其拖到工具欄並選擇工具欄(這是RootController按鈕將如何出現在工具欄上)。
再次控制,點擊文件擁有者,然後將其拖動到視圖,然後選擇視圖。
如果你建立它現在運行,就可以工作了!
這裏有一些問題,我有我在這個點之後:
問:如何更改按鈕的名稱在工具欄上? 答:工具欄(和爲此按鈕)從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";
,改變@
到任何你想要的!注意:如果您將此字段留空,則該按鈕不會出現!
問:如何更改彈出式菜單頂部的名稱?
答:添加以下行來聲明/更改名稱。 self.title = @"Menu";
,在您的RootViewController.m文件的- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
方法中。
我編輯的問題,除去從標題標籤,並使其按照Q&A形式更好一點。感謝分享! – 2012-07-06 19:42:32
謝謝!這是我的第一個教程,並不確定格式 – BloonsTowerDefence 2012-07-06 19:49:19