2013-02-19 48 views
0

我已經做到了這一點,但我不知道我錯過了什麼。將UIView轉換爲UITableView

我作爲一個單獨的View項目啓動了項目。

然後轉換的視圖控制器從繼承的UITableViewController像這樣:

@interface ViewController : UITableViewController 

走進的.xib此視圖控制器和改變了類的自定義類截面形式的UIView到的UITableView:

enter image description here

看看我的其他項目,其中ViewControllers只是直視TableView控制器,我沒有看到還有什麼需要做,但是當我運行應用程序或當我查看xib它不顯示tableview。

+0

你在哪裏測試您的應用程序? – achi 2013-02-19 01:42:21

+0

你可能想要做的是:創建一個繼承自UITableViewController的自定義類,並在自定義類部分使用這個類(例如MyTableViewController) – Thorsten 2013-02-19 01:43:10

+0

是的,基本上我必須創建一個新類,並按照你的說法做,從UITableViewController繼承,並且連線已經完成,包括在.xib中(只要在嚮導中檢查創建.xib) – 2013-02-24 03:45:00

回答

4

你需要拖出一個UITableView在Interface Builder更換的UIView。然後將UITableViewDataSource和UITableViewDelegate協議添加到您的視圖控制器頭文件中,並將數據源和代理插座從您的UITableView連接到Interface Builder中的視圖控制器。

@interface ViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate> 
+0

謝謝,雖然我知道我能夠在過去沒有設置委託或數據源(除非最終需要它)。 – 2013-02-19 22:44:21

0

add delegate & dataSource。我認爲你忘記添加代表& dataSource多數民衆贊成這就是爲什麼它不顯示錶。將以下幾行添加到您的viewDidLoad()中。

self.myTableView.dataSource = self; 
    self.myTableView.delegate = self; 

在此之後還實現委託所需的方法,是

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
return 1; 
} 


- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
return 
10; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
//your code for cell data 
} 
0

你在.m文件中使用了什麼init方法。您需要使用

[[UITableViewController alloc] initWithStyle:UITableViewStylePlain] 

分配方法,並確保你已經包括了<UITableViewDataSource, UITableViewDelegate>和相關的數據源和委託方法。

0

好吧,

基本上,如果你想只是從頭開始一個UITableViewController,而不必手動做上述情況,只需要創建一個新的OBJ-C類,都從UITableViewController中繼承,並選擇創建廈門國際銀行,它會給您已連接到同一個UITableView工作一個視圖控制器和視圖:

enter image description here

enter image description here