Ios UICollectionViewCell上的奇怪边框-Swift

Ios UICollectionViewCell上的奇怪边框-Swift,ios,swift,swift2,uicollectionviewcell,Ios,Swift,Swift2,Uicollectionviewcell,我已经为UICollectionViewCell创建了一个子类,如下所示 import Foundation import UIKit class GroupCollectionViewCell: UICollectionViewCell { @IBOutlet weak var name: UILabel! @IBOutlet weak var subject: UILabel! } override func drawRect(rect: CGRect) { sel

我已经为UICollectionViewCell创建了一个子类,如下所示

import Foundation
import UIKit
class GroupCollectionViewCell: UICollectionViewCell {
    @IBOutlet weak var name: UILabel!
    @IBOutlet weak var subject: UILabel!
}
override func drawRect(rect: CGRect) {
    self.layer.cornerRadius = 4
}
只要我像这样重写drawRect函数

import Foundation
import UIKit
class GroupCollectionViewCell: UICollectionViewCell {
    @IBOutlet weak var name: UILabel!
    @IBOutlet weak var subject: UILabel!
}
override func drawRect(rect: CGRect) {
    self.layer.cornerRadius = 4
}
我在每个单元格的顶部和右侧都有一个奇怪的边框/阴影(背景颜色设置在故事板中)

请注意,即使我去掉self.layer.cornerRadius线,边界仍然会出现,因此我可能错过了drawRect函数中的某些内容-我只是不确定是什么

特别奇怪的是,当我在iPhone 6+或更宽的设备上运行代码时,问题就消失了

唯一其他(可能)相关的代码是我用来在视图控制器中适当调整单元格大小的代码:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    let size = collectionView.frame.width
    return CGSize(width: (size/3)-8, height: (size/3)-8)
}

什么是灰色边框/阴影,我如何才能消除它?非常感谢

我怀疑这可能只是一个出现的实现怪癖,因为你没有按照苹果想要的方式做事。除非您正在子类化
UIView
,否则您应该在自己的
drawRect()
方法中调用
super.drawRect()
。此外,
drawRect()
并不是设置
cornerRadius
的正确位置:您应该设置一次,也许在创建单元格时,然后忘记它

您可能会发现:

如果直接将UIView子类化,则此方法的实现不需要调用super。但是,如果您正在对不同的视图类进行子类化,那么应该在实现的某个时候调用super


还有一件事:如果您可以避免重写
drawRect()
,那么您应该;它确实会对性能产生影响。

我只能建议做一点修改: 将此行添加到drawRect

        self.layer.borderWidth = 1
        self.layer.borderColor = COLOR_OF_GRPUP_CELL

谢谢Nerowolfe,不幸的是这并没有像希望的那样起作用。这是更好的-但仍然有少量的黑暗的边界在右手边。看来最好的办法是在故事板中设置值。谢谢你两条稻草——这正是我需要的建议——我将drawRect函数换成了
required init(coder-aDecoder:NSCoder){super.init(coder:aDecoder)!self.layer.cornerRadius=4}
,一切正常。正如拉詹所说,你认为故事板方法也有效。谢谢大家!