Итак, у меня есть UITableView с пользовательской ячейкой...
Вот ячейка:
А вот xib с UITableView:
Я не могу объяснить белые поля по обе стороны от синих ячеек???
Я старался:
override func viewDidLoad() {
super.viewDidLoad()
...
table.layoutMargins = UIEdgeInsetsZero
table.separatorInset = UIEdgeInsetsZero
}
Я даже попробовал совет от iOS 8 разделитель UITableView вставка 0 не работает а>:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:Cell_Jobs = self.table.dequeueReusableCellWithIdentifier("Cell_Jobs") as Cell_Jobs
cell.area.text = "Hello"
// kill insets for iOS 8
let nf = NSNumberFormatter()
let version = nf.numberFromString(UIDevice.currentDevice().systemVersion)
if(version?.floatValue >= 8){
cell.preservesSuperviewLayoutMargins = false
cell.layoutMargins = UIEdgeInsetsZero
}
// iOS 7 and later
if(cell.respondsToSelector("setSeparatorInset:") ) {
cell.separatorInset = UIEdgeInsetsZero
}
return cell
}
Но я все еще не могу убрать левое и правое поля...
Что я делаю не так?
XCode6.1.1. Сборка для iOS 8.
И вот неприятный вывод с нежелательными полями:
Обновление для @Teemu Kurppa:
В viewDidLoad()
я сделал:
self.view.backgroundColor = UIColor.yellowColor()
self.table.backgroundColor = UIColor.cyanColor()
В tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
я сделал:
cell.contentView.backgroundColor = UIColor.redColor()
Обновление 2:
Так что у меня это работает
- Я удалил родительский UIView
- Я создал новый UIView
- Я повторно добавил UITableView и UIActivityIndicatorView
Я скопировал и вставил (Apple+C) из xib Objective-C (который был написан более года назад) в новый xib Swift - я подозреваю, что были какие-то забавные настройки, которые вызывали эти необъяснимые поля.
Спасибо за помощь, ребята,
Update Constraints
в Storyboard/IB? В противном случае iOS будет использовать автоматически сгенерированные ограничения во время выполнения. - person lukas   schedule 28.02.2015