調用的非功能型「UICollectionView」價值預期結果不能在斯威夫特3
在定製的TabBar控制器創建tabbbar圖標的通用私有方法。應該成功繪製每個指示的控制器的標籤欄圖標。
private func createNavController(imageName: String, _ controllerName: UICollectionViewController) -> UINavigationController {
let layout = UICollectionViewFlowLayout()
Thrown Here-> let viewController = controllerName(collectionViewLayout: layout)
let navController = UINavigationController(rootViewController: viewController)
navController.tabBarItem.image = UIImage(named: imageName)
return navController
}
:
結果
與
不能調用價值的非功能型 'UICollectionView'
失敗(通用)代碼失敗
工作(非通用)代碼
let userLayout = UICollectionViewFlowLayout()
let userController = UserController(collectionViewLayout: userLayout)
let navController = UINavigationController(rootViewController: userController)
navController.tabBarItem.image = UIImage(named: "loc-map-route")
相關
class UserController : UICollectionViewController, UICollectionViewDelegateFlowLayout
{
override func viewDidLoad() {
super.viewDidLoad()
collectionView?.backgroundColor = UIColor.green
}
}
環境
IOS 10迅速3的xcode 8
謝謝。
謝謝,阿爾瓦羅。你怎麼稱呼這個方法? –
沒問題!我更新了我的答案 –
雖然丹的答案更通用,但您可能想嘗試一下他的答案。 –