Maison > Questions et réponses > le corps du texte
不是 heightForRowAtIndexPath: 这个的间距,我指的是cell与cell之间的间距,默认是贴紧的!!!!
黄舟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)
}
巴扎黑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.
黄舟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
天蓬老师2017-04-17 17:30:45
Ce ne serait pas bien si vous utilisiez heightForRowAtIndexPath:
pour laisser un peu plus de hauteur...
天蓬老师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 ?
黄舟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.
天蓬老师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];
}