【发布时间】:2017-03-16 14:51:15
【问题描述】:
预期结果
在自定义标签栏控制器中创建标签栏图标的通用私有方法。应该成功地为每个指示的控制器绘制标签栏图标。
结果
失败了
不能调用非函数类型'UICollectionView'的值
失败(通用)代码:
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
}
工作(非通用)代码
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
谢谢。
【问题讨论】:
标签: ios swift3 uicollectionview