2017-04-24 40 views
0

更多viewcontroller圖像顯示在默認的藍色背景中,而不是原始圖像。我想將它們更改爲原始圖像,並且還想增加UITableViewCell's高度。 我曾嘗試在UITabbarController上實現tableview委託方法,但沒有解決。 即使moreNavigationController也沒有改變。 1)我在哪裏必須寫這些自定義方法viewDidLoadviewWillAppear。另外shouldSelectViewController沒有被調用。第一次當我選擇一個tabbar項目時,它被調用,當我選擇更多的項目時,它不會被調用。 2)我應該在哪裏實施UITableView委託方法。如何更改UITabbarController的更多ViewControllers UITableViewCells圖像?

我的屏幕 - My screen looks like this, but i want

所需的屏幕 -

something like the below screen

使用SWIFT是有幫助的一個解決方案。提前致謝。

+0

試試這個解決方案:http://stackoverflow.com/a/6019217/3901620 – KKRocks

+0

另外還有:http://stackoverflow.com/a/438514/3901620 – KKRocks

+0

@KKRocks。謝謝你的鏈接。我沒有嘗試使用自定義視圖控制器。我會盡力回覆。謝謝您的幫助。 – nocabbages

回答

0

這裏有一些內容需要解壓縮。我並不完全確定我完全理解這個問題,但我會盡我所能去部分回覆。

的viewDidLoad和viewWillAppear中

您在viewDidLoad初始化添加代碼。當你的視圖最初加載時,這個方法會運行,除非你每次只運行一次實例化控制器(在這種情況下,你不會因爲你使用的是預先構建的tabbar系統來爲你處理)

所以我會添加造型代碼viewDidLoad()

當要顯示viewController時,viewWillAppear()將被調用。每次都會發生這種情況,所以如果您需要執行重複性任務(如網絡調用,基於其他數據的重新設置,刷新表格),則應在此處執行。

表方法

換做任何你需要用一個表,你很可能需要兩UITableViewDelegateUITableViewDataSource到您的視圖控制器。在網上查找任何UITableView教程,它們都非常全面,並將解釋如何在viewController中添加所需的所有表方法。

+0

在CustomTabBarController這是UITabBarController的子類我已經擴展它與UITableView委託和數據源。然後我實現了所有存在的方法。但是沒有任何東西被調用。我的問題是我可以擴展TabBarController與TableView控制器?或者我應該採取一個新的ViewController的UITableViewController的子類顯示在'更多'的標籤欄項目? – nocabbages

0

我得到了要求的工作。我遵循的步驟過程是

  1. 取一個擴展UITabbarController的ViewController。
  2. 準確地取一個包含五個元素的數組(如果超過五個,則默認啓用更多功能)。
  3. 根據需要的前四個選項卡和第五個應該是'更多'選項卡。帶有必需的標籤圖像。
  4. 對於「更多」選項卡,創建一個View Controller,它擴展了UITableView委託和數據源。並實現委託和數據源的各自方法。
  5. 取一組您希望顯示並顯示它們的單元格。
  6. 將此「更多」視圖控制器鏈接到「更多」選項卡。
  7. 更改cellForRowAtIndexPath方法中tableview中的圖像。 運行該應用程序並通過選擇「更多」選項卡進行檢查。這次它應該顯示更改的UI。 當每個單元格在選擇單元格時應顯示不同的視圖控制器,然後使用ViewController中的段落(不從表格單元格中的段落)繼續使用不同的視圖控制器。爲每個segue定義一個唯一的segue id,並根據使用performSegueWithIdentifier的shouldSelectViewController中的switch或ifelse條件顯示viewcontrollers。

感謝@KKRocks的寶貴鏈接。