2011-05-08 76 views
2

我有一個標準的應用程序與管理多個UITableViewController類的導航控制器。手動添加UITabBar到UITableViewController

我想添加一個UITabBar到根視圖(一個UITableViewController)來管理過濾UITableView中對象showin的選擇。

我不想/需要一個UITabBarController。 UITabBar僅用於功能和UI(單選按鈕樣式和熟悉的tabbar UI)。我只是想手動創建一個UITabBar並將其添加到我的視圖錨定/鎖定到屏幕的最底部,就像使用UITabBarControllers時一樣。

我的主要問題是我無法弄清楚我應該將UITabBar作爲子視圖添加。

我不想將它添加到控制器self.tableView,因爲它然後將錨定到滾動TableView的底部,並不總是可見在屏幕的底部。

我也嘗試添加到view.tableView.superview,但似乎沒有工作。

任何幫助,或者我完全是這樣「過濾tableview數據的方式是錯誤的」,而應該使用別的東西呢?

回答

7

所以,UITableViewController的問題是它不像你所期望的那樣工作。向UITableView添加'鎖定'元素非常困難 - 表格頁腳和頁眉不能完成這項工作,並且您發現將它添加到超級視圖不起作用。

在這種情況下,最好的解決方案實際上是將表視圖控制器從窗口中移出,並使用具有普通視圖控制器的表視圖。

你想要做的是創建一個正常的UIViewController,然後添加一個表視圖。你的表視圖委託和數據源也可以在這個視圖控制器中。

然後,您可以調整表格視圖的大小,使其小於屏幕的大小,並將UITabBar添加到視圖控制器的主視圖中。

+0

好的,這是有道理的。讓我問是否有使用UITabBar做我想做的選擇。是否值得嘗試使UIToolbar模仿UITabBar(可視化),然後我可以用它作爲UITableView的工具欄? 我不反對以編程方式創建一個普通的UIViewController,只是好奇 – cpjolicoeur 2011-05-08 22:22:33

+0

我想你可以。你需要一點點欺騙手段才能讓你的工具欄看起來像一個標籤欄 - 一個標籤欄比一個工具欄高6個像素,你還需要重新實現所有免費獲得的邏輯一個標籤欄。但它肯定會是一種方法。 – lxt 2011-05-09 09:45:18

相關問題