加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift 2.3 App中未调用的UICollectionViewDelegateFlowLayout

发布时间:2020-12-14 05:02:24 所属栏目:百科 来源:网络整理
导读:我没有调用任何UICollectionViewDelegateFlowLayout方法.有人可以帮我找到解决方案吗? 在我的ViewDidLoad方法中,我为集合视图设置了委托和数据源 self.collectionView.delegate = self和 self.collectionView.dataSource = self 这是我的委托方法: func co
我没有调用任何UICollectionViewDelegateFlowLayout方法.有人可以帮我找到解决方案吗?

在我的ViewDidLoad方法中,我为集合视图设置了委托和数据源
self.collectionView.delegate = self和
self.collectionView.dataSource = self

这是我的委托方法:

func collectionView(collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,insetForSectionAt section: Int) -> UIEdgeInsets {
    let deviceIdiom = UIScreen.mainScreen().traitCollection.userInterfaceIdiom
    switch(deviceIdiom){
    case .Phone:

        return UIEdgeInsets(top: 50,left: 10,bottom: 0,right: 10)
    case .Pad:
        return UIEdgeInsets(top: 60,left: 20,right: 20)
    default:
        break
    }
}

func collectionView(collectionView: UICollectionView,minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return CGFloat(8)
}

func collectionView(collectionView: UICollectionView,sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

    let deviceIdiom =          UIScreen.mainScreen().traitCollection.userInterfaceIdiom

    switch(deviceIdiom){
    case .Phone:

        let cellWidth = (view.bounds.size.width - 16) / 2
        let cellHeight = cellWidth
     return CGSize(width: cellWidth,height: cellHeight)

    case .Pad:

        let cellWidth = (view.bounds.size.width - 40) / 2
        let cellHeight = cellWidth
        return CGSize(width: cellWidth,height: cellHeight)

    default:
        break
    }
}

我的ViewDidLoad方法 –

override func viewDidLoad(){
????????super.viewDidLoad()

self.collectionView.dataSource = self
 self.collectionView.delegate = self
    cellImages = [
        "contact.png","share.png","setting.png","logout.png"]
    cellLabels = [
        "Contact","Share","Setting","Logout"]

    self.view.backgroundColor = uicolorFromHex(0xE5DADA)

    self.collectionView?.backgroundColor = uicolorFromHex(0xE5DADA)
    self.navigationController?.navigationBarHidden = false
    self.navigationItem.hidesBackButton = true
    navigationController!.navigationBar.titleTextAttributes =
        [NSForegroundColorAttributeName: UIColor.whiteColor()]
    navigationController!.navigationBar.barTintColor = UIColor(red: 0.0431,green: 0.0824,blue: 0.4392,alpha: 1.0)

    if let user = User.currentUser(){
    if(user.manager){
    self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Board",style: UIBarButtonItemStyle.Plain,target: self,action: #selector(goToBoard))

}

谢谢,

解决方法

我终于通过创建我的课程的扩展来解决这个问题 ?MainViewController:UICollectionViewDelegateFlowLayout {},将所有委托方法放在那里并清理构建.它在Swift 3中运行属性(在同一类中),但对于swift 2.3,由于某些奇怪的原因,它需要被扩展.谢谢,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读