2016-01-24 3 views

ответ

1

UITableView имеет вид фона, который вы можете использовать для этой цели. Вы можете получить доступ к этому виду:

yourTableView.backgroundView 

Поэтому вы можете добавить свое изображение в этот вид.

if let tableView = self.view as? UITableView { 
     let image = UIImage(named: "myxcassetsimage") 
     let imageView = UIImageView(image: image) 
     tableView.backgroundView = imageView 
    } 

Этот отпечаток предполагает, что на вашем раскадровке установлена ​​настройка Table View Controller. Таким образом, он проверяет, является ли ваш self.view UITableView и добавляет изображение из вашего каталога активов в фоновое представление.

Обратите внимание, что статические ячейки, о которых вы говорите, должны иметь прозрачный/прозрачный фон, иначе вы не увидите изображение за ячейками.

+1

'UITableViewController' имеет свойство' tableView', вам не нужно проверять, является ли 'self.view'' UITableView'. – EmilioPelaez

+0

Еще одна вещь, которую следует учитывать, если у вас много ячеек, наличие прозрачных или прозрачных ячеек не будет лучшим. Гораздо лучше иметь непрозрачные ячейки, когда это возможно. – jasonnoahchoi

+0

Это решение работает для меня, но я узнал, что свойства для непрозрачного, bgcolor ... в xcode 8 не принимаются для старых сборщиков (например, для iOS 9). Я не знаю, если я что-то пропустил, но я построил решение, ссылаясь на tableviewcells как выходы на код и сделал их непрозрачными, цвет фона - прозрачный и backgroundview nil. Может быть, это поможет кому-то другому :) –