2017-08-07 48 views
0

我目前有一個UITableViewController,但想在屏幕底部添加一個標籤。我認爲最簡單的方法就是使用帶有UITableView的UIViewController。有一種簡單的方法可以遷移嗎?我注意到一些功能是不同的;例如UITableViewController有一個numberOfSections方法,而UITableView沒有該方法。也有可能使用UIViewController作爲UITableView的代理?提前致謝。將UITableViewController移植到UITableView

更新:我附上了代碼的圖片,以及試圖實現UITableViewDataSource時給出的錯誤。

Source Code

回答

0

你可以這樣做。你需要實現UITableViewDelegate並在你的View Controller中包含UITableViewDatasource,然後你可以使用你在TableViewController中使用的函數。

基本上你應該做的是在界面生成器中添加一個tableview,或者通過編程(取決於你的選擇)。如果它是通過接口構建器完成的,然後將其輸出到控制器。將Delegate添加到你的類中,你就可以訪問tableViewFunctions(cellForRow,numberOfItems,numberOfSections,didSelectRow等等)。

另外,當您創建tableview時,請指定tableview.delegate = self和tableview.datasource = self。

0

據我所知,這些方法都是一樣的,你是不會每個人,如果它只是一個UITableView之前需要override位。您可以使用UIViewController作爲代表,是的,通過在其viewDidLoad方法中設置myTableView.delegate = self

但如果它只是一個你需要的標籤,你可能會考慮添加一個編程的?例如,使用無數據標籤獲得的類似結果 - 請參閱here。然後你可以玩弄定位。

+0

嗨,我不能採用UITableViewDelegate作爲UIViewController,所以方法不會轉移。 –

+0

您是否已將UITableViewDataSource和UITableViewDelegate協議添加到類聲明中?也許你可以用你的代碼更新原始問題? – Tom

+0

嗨湯姆,請看看更新後的問題,它現在有一個源代碼的圖片。 –

0

引發此錯誤是因爲您需要將dataSource設置爲TableView對象,如self.tableView.dataSource = self。在此之後,您可以免費使用UITableView的所有方法,包括您提到的numberOfSections