针对 iPad 和 iPhone 进行测试时颜色不同

Colours different when testing against iPad and iPhone

我正在使用自动布局和通用设备制作 iOS 应用。除了一件事,颜色,这两种设备上的一切都很好。我直接从故事板更改颜色,所以我不知道为什么会这样:

这是一张 iPhone 屏幕截图,以及一张 iPad 同一视图的屏幕截图:

我有一些颜色在故事板中设置为默认颜色,但即使在设置它们之后它也不完美:

要为 UITableView 设置背景颜色,您必须创建一个背景视图并将其分配给 tableView.backgroundView 属性。因此,在 viewController 的 viewDidLoad 中:

override func viewDidLoad() {
    super.viewDidLoad()

    let backgroundView = UIView()
    backgroundView.backgroundColor = UIColor.redColor()  // just to demonstrate        
    self.tableView.backgroundView = backgroundView
}

为了使其适用于任何单元格、附件视图或不适用,您必须在控制器中添加此功能:

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
    cell.backgroundColor = UIColor(red: 44/255, green: 42/255, blue: 43/255, alpha: 1)
}