recherche

Maison  >  Questions et réponses  >  le corps du texte

uitableview - iOS 中 tableView 怎么设置Cell与Cell 之间的间距?

不是 heightForRowAtIndexPath: 这个的间距,我指的是cell与cell之间的间距,默认是贴紧的!!!!

高洛峰高洛峰2821 Il y a quelques jours932

répondre à tous(7)je répondrai

  • 黄舟

    黄舟2017-04-17 17:30:45

    Tu veux dire. . Comme sur Weibo. . Est-ce qu'il semble qu'il y ait des espaces entre chaque cellule ?

    Méthode stupide, définissez une petite zone vide dans chaque cellule X D

    remplacer func tableView(tableView : UITableView, heightForRowAtIndexPath indexPath : NSIndexPath) ->

        return 60.0f
    }
    
    override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
    
        cell.contentView.backgroundColor = UIColor.clearColor()
    
        let gapView : UIView = UIView(frame: CGRectMake(0, 10, self.view.frame.size.width, 120))
    
        gapView.layer.backgroundColor = UIColor(red: 1.0f, green: 1.0f, blue: 1.0f, alpha: 1.0f)
        gapView.layer.masksToBounds = false
        gapView.layer.cornerRadius = 2.0f
        gapView.layer.shadowOffset = CGSizeMake(-1, 1)
        gapView.layer.shadowOpacity = 0.2f
    
        cell.contentView.addSubview(gapView)
        cell.contentView.sendSubviewToBack(gapView)
    }

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:30:45

    La hauteur de chaque cellule est un peu plus élevée (supérieure à l'espacement souhaité), l'arrière-plan de la cellule est défini sur transparent, utilisez votre propre vue comme arrière-plan, ne remplissez pas la cellule et laissez la hauteur en dessous de celle que vous dépassez.

    répondre
    0
  • 黄舟

    黄舟2017-04-17 17:30:45

    UITableView ne peut être réglé qu'indirectement.
    Si vous souhaitez définir l'espacement des cellules de manière plus parfaite et intelligente, il est recommandé d'utiliser UICollectionView

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:30:45

    Ce ne serait pas bien si vous utilisiez heightForRowAtIndexPath: pour laisser un peu plus de hauteur...

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:30:45

    Vous pouvez définir plusieurs sections. Chaque section a une cellule, donc la distance entre les cellules devient la distance entre les sections.
    Est-il difficile de régler la distance entre les sections ?

    répondre
    0
  • 黄舟

    黄舟2017-04-17 17:30:45

    La méthode du premier étage est la plus fiable. Les performances de collectionView sont relativement médiocres. Il est plus rentable de définir plus de blancs dans la cellule.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:30:45

    Remplacez la méthode setFrame de la cellule

    MessageCellSectionMargin personnalise une valeur

    - (void)setFrame:(CGRect)frame {
        
        CGRect cellFrame = frame;
        cellFrame.size.height = cellFrame.size.height - MessageCellSectionMargin;
        cellFrame.origin.y = cellFrame.origin.y + MessageCellSectionMargin;
        frame = cellFrame;
        
        [super setFrame:frame];
    }

    répondre
    0
  • Annulerrépondre