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

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

高洛峰
高洛峰

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

全部回覆(7)
黄舟

你的意思是。 。就像微博裡面那樣。 。好像每個 cell 之間有間隙那種麼?

笨方法,每個cell 裡面設定一點點空白區域啊 X D

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

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

每個 cell 高度高一點點(高出你想要的間距),cell 背景設為透明,用自己的 view 作為背景,不填滿 cell ,下面空出 你超出的高度

黄舟

UITableView只能通过间接的方式设置出来。
如果想更完美智能地设置cell间距,建议你使用UICollectionView

Peter_Zhu

你用 heightForRowAtIndexPath:多留一點高度不就好了…

Peter_Zhu

可以設定多個section啊,每個section就一條cell,那麼cell之間的距離不就變成設定section之間的距離了。
section之間的距離不好設麼

黄舟

1樓的方法是最可靠的,collectionView性能比較可憐,不如cell多設置一些空白比較划算。

Peter_Zhu

重寫cell的setFrame方法

MessageCellSectionMargin自訂一個數值

- (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];
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板