uitableview - iOS 中 tableView 怎么设置Cell与Cell 之间的间距?
高洛峰
高洛峰 2017-04-17 17:28:45
0
7
910

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(7)
黄舟

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)
}
巴扎黑

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.

黄舟

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

Peter_Zhu

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

Peter_Zhu

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 ?

黄舟

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.

Peter_Zhu

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];
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal