2012-04-05 19 views
0

我的項目接近完成我需要的一切。它有一個主頁,其中有四個按鈕,讓您選擇一個選項。然後從這些選項啓動一個tableview頁面,並顯示來自網站的解析XML feed。然後,您可以選擇表中的一個選項來查看該項目的詳細視圖,查詢該項目等。結合UITableView與其他元素 - 如何創建和使用視圖?

我的問題是我需要添加更多元素到TableViewController頁面,而不是tableview本身。我想要一個自定義後退按鈕(不是導航控制器標準)以及一些標籤,圖像等。

在TableViewController xib中,tableview自身填充頁面。我不能調整它來添加更多的元素。我可以在tableview上方添加一個'view'窗口並將其放入其中。但它似乎將視圖添加到tableview。這意味着當我滾動表格時,其他元素(如新的後退按鈕)會作爲表格的一部分滾動。

所以我被問到是否我需要這個頁面不是一個tableviewcontroller,而是一個viewcontroller,裏面有一個tableview,還有我的另一個按鈕等視圖。是否是正確的路要走?但如果是這樣的話,那麼我如何在代碼中實例化tableviewcontroller?因爲我的頁面不再是那種類型 - 它將只是一個視圖控制器。但在代碼我做一個tableviewcontroller ..稍微害怕這條路線tbh。

對此的任何照明將不勝感激,因爲各種搜索讓我不明智。謝謝。

回答

1

定製它,這是要走的路:

  • 更改類是視圖控制器代替,它實現了TableViewDelegate和TableViewData源協議。
  • 在您控制器的didLoad視圖中,創建表視圖,設置您的代理,數據源和您希望的任何其他屬性,並將其作爲子視圖添加到您的視圖中。

    tableView = [[[UITableView alloc] init] autorelease]; 
    tableView.delegate = self; 
    tableView.dataSource = self; 
    // .. Other customization 
    [self.view addSubview:tableView]; 
    

我建議做這種編程方式,而不是IB。

+0

沒問題,這聽起來很清楚。所以一旦我將類更改爲viewController,我將能夠自定義xib中的頁面。我將tableview添加到此頁面,然後在viewDidLoad中實例化。聽起來不錯,會試一試。謝謝。 – 2012-04-05 09:00:52

+0

你是最受歡迎的:) – Vlad 2012-04-05 09:06:09

0

而不是UITableViewController,你想要一個具有IBOutlet UITableView的UIViewController。從Storyboard中拖放一個UITableView組件並掛接它,並根據需要將其放置在屏幕上。這個UIViewController應該實現UITableViewDelegate和UITableViewDataSource方法。

編輯:請記住,UITableViewController只是UIViewController的一個子類,因此您並不需要刪除所有代碼。 :)你只需要對你的頭文件和主文件進行微小的調整,並將Storyboard改爲UIViewController而不是UITableViewController,就像我上面提到的那樣。

+0

好的謝謝。儘管我現在不使用故事板,但我堅持支持iOS的舊版本。但我明白你的意思,會試試看。 – 2012-04-05 08:59:30

相關問題